|
|
@@ -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
|