From 8cd9f278ba53fffd17c5eb1f66954ad9472072ee Mon Sep 17 00:00:00 2001 From: keven1024 Date: Mon, 2 Jun 2025 12:45:57 +0800 Subject: [PATCH] feat(backend): add JPEG compression support and new image processing functions --- .../components/Result/ImageCompressResult.vue | 8 +++---- worker/internal/tasks/image.go | 24 ++++++++++++++++++- 2 files changed, 27 insertions(+), 5 deletions(-) diff --git a/front/components/Result/ImageCompressResult.vue b/front/components/Result/ImageCompressResult.vue index 5195233..fafc92f 100644 --- a/front/components/Result/ImageCompressResult.vue +++ b/front/components/Result/ImageCompressResult.vue @@ -104,16 +104,16 @@ watch( v-for="item in taskData?.result" >
-
+
- {{ props?.data?.file?.name }} -
+
{{ props?.data?.file?.name }}
+
{{ filesize(item.new_file.size ?? 0) }} diff --git a/worker/internal/tasks/image.go b/worker/internal/tasks/image.go index ed04af1..36c32cc 100644 --- a/worker/internal/tasks/image.go +++ b/worker/internal/tasks/image.go @@ -44,6 +44,17 @@ func CompressImage(ctx context.Context, task *asynq.Task) error { if err != nil { return err } + case "image/jpeg": + err := utils.CopyFile(originalPath, originalPath+"_compressed") + if err != nil { + return err + } + args := []string{"-m", "90", "--strip-all", originalPath + "_compressed"} + cmd := exec.Command("jpegoptim", args...) + _, err = cmd.CombinedOutput() + if err != nil { + return err + } default: return errors.New("不支持的文件类型") } @@ -57,7 +68,6 @@ func CompressImage(ctx context.Context, task *asynq.Task) error { "status": "success", "result": []any{ map[string]any{ - "status": "success", "old_file": map[string]any{ "id": payload.FileId, "size": originalFileInfo.FileSize, @@ -72,3 +82,15 @@ func CompressImage(ctx context.Context, task *asynq.Task) error { return nil } + +func UpscaleImage(ctx context.Context, task *asynq.Task) error { + return nil +} + +func TranslateImage(ctx context.Context, task *asynq.Task) error { + return nil +} + +func CreateAIImage(ctx context.Context, task *asynq.Task) error { + return nil +}