diff --git a/weed/storage/needle_parse_multipart.go b/weed/storage/needle_parse_multipart.go index e8d57ee38..3dba81fcf 100644 --- a/weed/storage/needle_parse_multipart.go +++ b/weed/storage/needle_parse_multipart.go @@ -88,10 +88,12 @@ func parseMultipart(r *http.Request) ( } isGzipped = true } else if operation.IsGzippable(ext, mtype, data) { - if data, e = operation.GzipData(data); e != nil { - return + if compressedData, err := operation.GzipData(data); err == nil { + if len(data) > len(compressedData) { + data = compressedData + isGzipped = true + } } - isGzipped = true } }