Fix unlimitedSize uploads
MODIFY
mediaapi/routing/upload.go
mediaapi/routing/upload.go
@@ -169,7 +169,7 @@ func (r *uploadRequest) doUpload(
}
// Check if temp file size exceeds max file size configuration
- if bytesWritten > types.FileSizeBytes(*cfg.MaxFileSizeBytes) {
+ if *cfg.MaxFileSizeBytes > 0 && bytesWritten > types.FileSizeBytes(*cfg.MaxFileSizeBytes) {
fileutils.RemoveDir(tmpDir, r.Logger) // delete temp file
return requestEntityTooLargeJSONResponse(*cfg.MaxFileSizeBytes)
}

MODIFY
mediaapi/routing/upload_test.go
mediaapi/routing/upload_test.go
@@ -36,6 +36,7 @@ func Test_uploadRequest_doUpload(t *testing.T) {
}
maxSize := config.FileSizeBytes(8)
+ unlimitedSize := config.FileSizeBytes(0)
logger := log.New().WithField("mediaapi", "test")
testdataPath := filepath.Join(wd, "./testdata")
@@ -117,6 +118,27 @@ func Test_uploadRequest_doUpload(t *testing.T) {
},
want: requestEntityTooLargeJSONResponse(maxSize),
},
+ {
+ name: "upload ok with unlimited filesize",
+ args: args{
+ ctx: context.Background(),
+ reqReader: strings.NewReader("test test test"),
+ cfg: &config.MediaAPI{
+ MaxFileSizeBytes: &unlimitedSize,
+ BasePath: config.Path(testdataPath),
+ AbsBasePath: config.Path(testdataPath),
+ DynamicThumbnails: false,
+ },
+ db: db,
+ },
+ fields: fields{
+ Logger: logger,
+ MediaMetadata: &types.MediaMetadata{
+ MediaID: "1339",
+ UploadName: "test fail",
+ },
+ },
+ },
}
for _, tt := range tests {
t.Run(tt.name, func(t *testing.T) {

Fix unlimitedSize uploads (#2317)