refactor event

This commit is contained in:
Timi
2026-08-05 22:50:22 +08:00
parent 22ff13b1fe
commit 1243068fc3
46 changed files with 961 additions and 789 deletions
+16 -1
View File
@@ -3,16 +3,31 @@ import imageCompression from "browser-image-compression";
const PHOTO_MAX_SIZE_MB = 300 / 1024;
const PHOTO_MAX_WIDTH_OR_HEIGHT = 1920;
/**
* 转为真正的 File,避免压缩库返回 Blob 后 FormData 使用默认文件名 blob。
*/
function normalizeUploadImageFile(source: File, compressed: Blob): File {
if (compressed instanceof File && compressed.name) {
return compressed;
}
return new File([compressed], source.name || "upload-image", {
type: compressed.type || source.type,
lastModified: source.lastModified
});
}
/**
* 压缩上传图片,统一限制到 300 KB。
*/
export async function compressUploadImage(file: File): Promise<File> {
return await imageCompression(file, {
const compressedFile = await imageCompression(file, {
maxSizeMB: PHOTO_MAX_SIZE_MB,
maxWidthOrHeight: PHOTO_MAX_WIDTH_OR_HEIGHT,
useWebWorker: true,
initialQuality: .86
});
return normalizeUploadImageFile(file, compressedFile);
}
/**