wuyi 1 месяц назад
Родитель
Сommit
ec7517dd6c
1 измененных файлов с 26 добавлено и 0 удалено
  1. 26 0
      src/services/file.service.ts

+ 26 - 0
src/services/file.service.ts

@@ -238,6 +238,32 @@ export class FileService {
     }
   }
 
+  /**
+   * 获取图片缩略图签名URL(降低分辨率)
+   * @param key 文件key
+   * @param width 宽度,默认400px
+   * @param quality 质量,默认80
+   * @param expires 过期时间(秒),默认24小时
+   * @returns 签名URL
+   */
+  async getImageThumbnailUrl(
+    key: string,
+    width: number = 400,
+    quality: number = 80,
+    expires: number = 24 * 60 * 60
+  ): Promise<string> {
+    try {
+      const process = `image/resize,w_${width}/quality,q_${quality}`
+      const url = await this.ossClient.signatureUrl(key, {
+        expires: expires,
+        process: process
+      })
+      return url
+    } catch (error) {
+      throw new Error(`获取图片缩略图URL失败: ${error instanceof Error ? error.message : '未知错误'}`)
+    }
+  }
+
   /**
    * 检查文件是否存在
    * @param key 文件key