From c4f1b2818bf00c6f1b737e1fe08af28140a98a58 Mon Sep 17 00:00:00 2001 From: GoCo Date: Sat, 26 Jul 2025 00:27:23 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=F0=9F=8E=B8=20=E5=90=8E=E5=8F=B0?= =?UTF-8?q?=E8=AF=BE=E7=A8=8B=E8=A7=86=E9=A2=91=E4=B8=8A=E4=BC=A0=E5=AF=B9?= =?UTF-8?q?=E6=8E=A5=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/admin/common/upload.go | 11 +- web/src/views/lessonSection/edit.vue | 195 ++++++++++-------- 2 files changed, 119 insertions(+), 87 deletions(-) diff --git a/server/internal/controller/admin/common/upload.go b/server/internal/controller/admin/common/upload.go index f8c8022..d4713f8 100644 --- a/server/internal/controller/admin/common/upload.go +++ b/server/internal/controller/admin/common/upload.go @@ -56,20 +56,21 @@ func (c *cUpload) UploadVideo(ctx context.Context, _ *common.UploadVideoReq) (re return } + m3u8UUID := uuid.New().String() + // 1. 保存上传视频到本地临时目录 tmpDir := "./tmp/video" - _, _ = file.Save(tmpDir) - tmpFile := tmpDir + "/" + file.Filename + _, _ = file.Save(tmpDir + "/" + m3u8UUID) + tmpFile := tmpDir + "/" + m3u8UUID + "/" + file.Filename // 2. 用ffmpeg切片为m3u8和ts文件 - m3u8UUID := uuid.New().String() - hlsDir := "./tmp/hls/" + m3u8UUID _ = os.MkdirAll(hlsDir, 0755) defer func() { os.RemoveAll(hlsDir) + os.RemoveAll(tmpDir + "/" + m3u8UUID) }() m3u8File := m3u8UUID + ".m3u8" @@ -99,6 +100,8 @@ func (c *cUpload) UploadVideo(ctx context.Context, _ *common.UploadVideoReq) (re } } + m3u8MinioPath = storager.LastUrl(ctx, m3u8MinioPath, "minio") + // 4. 返回m3u8文件的minio路径 return common.UploadVideoRes{ Path: m3u8MinioPath, diff --git a/web/src/views/lessonSection/edit.vue b/web/src/views/lessonSection/edit.vue index 5849d8c..54c6409 100644 --- a/web/src/views/lessonSection/edit.vue +++ b/web/src/views/lessonSection/edit.vue @@ -1,25 +1,13 @@ \ No newline at end of file