Increase maximum image data size limit to 8MB and add error handling for oversized images after conversion

This commit is contained in:
2025-05-18 17:31:59 +08:00
parent 4c0166e364
commit db34b32d63

View File

@@ -59,7 +59,7 @@ func CreateImage(uid uint, data []byte) (uint, error) {
if len(data) == 0 { if len(data) == 0 {
return 0, model.NewRequestError("Image data is empty") return 0, model.NewRequestError("Image data is empty")
} else if len(data) > 1024*1024*5 { } else if len(data) > 1024*1024*8 {
return 0, model.NewRequestError("Image data is too large") return 0, model.NewRequestError("Image data is too large")
} }
@@ -92,6 +92,11 @@ func CreateImage(uid uint, data []byte) (uint, error) {
contentType = "image/webp" contentType = "image/webp"
} }
// If the image is still too large after conversion, return an error
if len(data) > 1024*1024*4 {
return 0, model.NewRequestError("Image data is too large after conversion")
}
filename := uuid.New().String() filename := uuid.New().String()
if err := os.WriteFile(imageDir+filename, data, 0644); err != nil { if err := os.WriteFile(imageDir+filename, data, 0644); err != nil {
return 0, errors.New("failed to save image file") return 0, errors.New("failed to save image file")