diff --git a/app/(admin)/settings/admin-settings-client.tsx b/app/(admin)/settings/admin-settings-client.tsx index 7a39cf6..2147b71 100644 --- a/app/(admin)/settings/admin-settings-client.tsx +++ b/app/(admin)/settings/admin-settings-client.tsx @@ -2748,15 +2748,17 @@ export function AdminSettingsClient() { if (event.lengthComputable) { const percent = Math.round((event.loaded / event.total) * 100); setVideoUploadPercent(percent); - if (percent < 100) { - setVideoUploadProgress(`上传中 ${percent}%`); - } else { - setVideoUploadStage("compressing"); - setVideoUploadProgress("压缩处理中..."); - } + setVideoUploadProgress(`上传中 ${percent}%`); } }; + // 上传完成后,切换到压缩阶段 + xhr.upload.onloadend = () => { + setVideoUploadPercent(100); + setVideoUploadStage("compressing"); + setVideoUploadProgress("压缩处理中..."); + }; + xhr.onload = () => { if (xhr.status >= 200 && xhr.status < 300) { try { @@ -2765,6 +2767,7 @@ export function AdminSettingsClient() { reject(new Error(response.error)); } else { setVideoUploadStage("done"); + setVideoUploadProgress("完成!"); resolve(response); } } catch {