From 9f8395fab13ca4b230a0f7d62636e209745c91d4 Mon Sep 17 00:00:00 2001 From: lrj <owen.stl@gmail.com> Date: 星期日, 28 九月 2025 14:16:18 +0800 Subject: [PATCH] feat: 完善注册流程的文件上传功能 --- web/src/api/media.js | 41 +++++++++++++++++++++++++++++++++++++++++ 1 files changed, 41 insertions(+), 0 deletions(-) diff --git a/web/src/api/media.js b/web/src/api/media.js index 2ca732a..1934b37 100644 --- a/web/src/api/media.js +++ b/web/src/api/media.js @@ -110,4 +110,45 @@ } return result; +}; + +// 涓婁紶瑙嗛鏂囦欢骞惰嚜鍔ㄧ敓鎴愮缉鐣ュ浘 +export const uploadVideoWithThumbnail = async (videoFile) => { + const { extractVideoFrame, generateThumbnailFileName } = await import('@/utils/video.js'); + + try { + console.log('寮�濮嬪鐞嗚棰戞枃浠�:', videoFile.name); + + // 1. 涓婁紶鍘熻棰戞枃浠� + console.log('涓婁紶瑙嗛鏂囦欢...'); + const videoUploadResult = await uploadFile(videoFile); + console.log('瑙嗛涓婁紶鎴愬姛:', videoUploadResult); + + // 2. 鎻愬彇瑙嗛绗竴甯� + console.log('鎻愬彇瑙嗛绗竴甯�...'); + const thumbnailBlob = await extractVideoFrame(videoFile); + console.log('瑙嗛甯ф彁鍙栨垚鍔燂紝澶у皬:', thumbnailBlob.size); + + // 3. 鍒涘缓缂╃暐鍥炬枃浠跺璞� + const thumbnailFileName = generateThumbnailFileName(videoFile.name); + const thumbnailFile = new File([thumbnailBlob], thumbnailFileName, { + type: 'image/jpeg' + }); + + // 4. 涓婁紶缂╃暐鍥� + console.log('涓婁紶缂╃暐鍥�...'); + const thumbnailUploadResult = await uploadFile(thumbnailFile); + console.log('缂╃暐鍥句笂浼犳垚鍔�:', thumbnailUploadResult); + + // 5. 杩斿洖鍖呭惈瑙嗛鍜岀缉鐣ュ浘淇℃伅鐨勭粨鏋� + return { + video: videoUploadResult, + thumbnail: thumbnailUploadResult, + success: true + }; + + } catch (error) { + console.error('瑙嗛澶勭悊澶辫触:', error); + throw new Error(`瑙嗛澶勭悊澶辫触: ${error.message}`); + } }; \ No newline at end of file -- Gitblit v1.8.0