diff --git a/httpd/httpd_test.go b/httpd/httpd_test.go index 8c1c2670..0388fa5e 100644 --- a/httpd/httpd_test.go +++ b/httpd/httpd_test.go @@ -2010,6 +2010,7 @@ func TestWebUserS3Mock(t *testing.T) { user.FsConfig.S3Config.Endpoint = "http://127.0.0.1:9000/path?a=b" user.FsConfig.S3Config.StorageClass = "Standard" user.FsConfig.S3Config.KeyPrefix = "somedir/subdir/" + user.FsConfig.S3Config.PartSize = 5 form := make(url.Values) form.Set("username", user.Username) form.Set("home_dir", user.HomeDir) @@ -2034,6 +2035,7 @@ func TestWebUserS3Mock(t *testing.T) { form.Set("s3_storage_class", user.FsConfig.S3Config.StorageClass) form.Set("s3_endpoint", user.FsConfig.S3Config.Endpoint) form.Set("s3_key_prefix", user.FsConfig.S3Config.KeyPrefix) + form.Set("s3_part_size", strconv.FormatInt(int64(user.FsConfig.S3Config.PartSize), 10)) form.Set("allowed_extensions", "/dir1::.jpg,.png") form.Set("denied_extensions", "/dir2::.zip") b, contentType, _ := getMultipartFormData(form, "", "") diff --git a/httpd/web.go b/httpd/web.go index 5b888277..69e96167 100644 --- a/httpd/web.go +++ b/httpd/web.go @@ -329,6 +329,10 @@ func getFsConfigFromUserPostFields(r *http.Request) (dataprovider.Filesystem, er fs.S3Config.Endpoint = r.Form.Get("s3_endpoint") fs.S3Config.StorageClass = r.Form.Get("s3_storage_class") fs.S3Config.KeyPrefix = r.Form.Get("s3_key_prefix") + fs.S3Config.PartSize, err = strconv.ParseInt(r.Form.Get("s3_part_size"), 10, 64) + if err != nil { + return fs, err + } } else if fs.Provider == 2 { fs.GCSConfig.Bucket = r.Form.Get("gcs_bucket") fs.GCSConfig.StorageClass = r.Form.Get("gcs_storage_class") diff --git a/templates/user.html b/templates/user.html index 0237f14a..ec62f8b5 100644 --- a/templates/user.html +++ b/templates/user.html @@ -300,6 +300,15 @@ +