mirror of
https://github.com/woodchen-ink/webp_server_go.git
synced 2025-07-19 06:02:01 +08:00
refactor(router): add file size check before image processing
This commit is contained in:
parent
fdea015805
commit
8b6defa69c
@ -94,12 +94,29 @@ func Convert(c *fiber.Ctx) error {
|
||||
return c.SendFile(rawImageAbs)
|
||||
}
|
||||
|
||||
// 处理图片
|
||||
|
||||
// 检查文件大小
|
||||
isSmall, err := helper.IsFileSizeSmall(rawImageAbs, 100*1024) // 100KB
|
||||
if err != nil {
|
||||
log.Errorf("检查文件大小时出错: %v", err)
|
||||
return c.SendStatus(fiber.StatusInternalServerError)
|
||||
}
|
||||
|
||||
if isSmall {
|
||||
log.Infof("文件 %s 小于100KB,直接复制到 EXHAUST_PATH", rawImageAbs)
|
||||
if err := helper.CopyFile(rawImageAbs, exhaustFilename); err != nil {
|
||||
log.Errorf("复制小文件到 EXHAUST_PATH 失败: %v", err)
|
||||
return c.SendStatus(fiber.StatusInternalServerError)
|
||||
}
|
||||
} else {
|
||||
// 处理图片
|
||||
err := encoder.ProcessAndSaveImage(rawImageAbs, exhaustFilename, extraParams)
|
||||
if err != nil {
|
||||
log.Errorf("处理图片失败: %v", err)
|
||||
return c.SendStatus(fiber.StatusInternalServerError)
|
||||
}
|
||||
}
|
||||
|
||||
return c.SendFile(exhaustFilename)
|
||||
}
|
||||
|
@ -242,7 +242,7 @@ func IsAllowedImageFile(filename string) bool {
|
||||
return slices.Contains(allowedTypes, ext)
|
||||
}
|
||||
|
||||
// 小于100KB文件直接复制到EXHAUST_PATH
|
||||
// 直接复制到EXHAUST_PATH
|
||||
func CopyFile(src, dst string) error {
|
||||
sourceFileStat, err := os.Stat(src)
|
||||
if err != nil {
|
||||
|
Loading…
x
Reference in New Issue
Block a user