优化结构
This commit is contained in:
@@ -7,6 +7,7 @@ import (
|
||||
"errors"
|
||||
"fmt"
|
||||
"io"
|
||||
stdmime "mime"
|
||||
"os"
|
||||
"path"
|
||||
"path/filepath"
|
||||
@@ -246,10 +247,18 @@ func (uc *MediaUsecase) CompleteUpload(ctx context.Context, userID, uploadID uin
|
||||
return fail(errors.New("整文件校验失败"))
|
||||
}
|
||||
media := &MediaFile{Name: session.FileName, URL: stored.URL, Tag: strings.TrimPrefix(filepath.Ext(session.FileName), "."), Key: key, Size: stored.Size, Mime: mime, MD5: hash, UserID: userID}
|
||||
if strings.TrimSpace(media.Mime) == "" {
|
||||
media.Mime = stdmime.TypeByExtension(ext)
|
||||
if media.Mime == "" {
|
||||
media.Mime = "application/octet-stream"
|
||||
}
|
||||
}
|
||||
if err = uc.CreateMedia(ctx, media); err != nil {
|
||||
return fail(err)
|
||||
}
|
||||
if err = uc.CompleteUploadSession(ctx, uploadID, key, media.ID); err != nil {
|
||||
_ = uc.DeleteMedia(ctx, media.ID)
|
||||
_ = uc.files.Delete(ctx, key)
|
||||
_ = uc.FailUploadSession(ctx, uploadID)
|
||||
return nil, fmt.Errorf("完成上传会话失败: %w", err)
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user