Browse Source

提交代码。

Signed-off-by: zouap <zouap@pcl.ac.cn>
pull/3226/head
zouap 2 years ago
parent
commit
08ad1679e8
1 changed files with 14 additions and 12 deletions
  1. +14
    -12
      routers/repo/attachment.go

+ 14
- 12
routers/repo/attachment.go View File

@@ -312,7 +312,8 @@ func GetAttachment(ctx *context.Context) {
url = setting.PROXYURL + "/obs_proxy_download?uuid=" + attach.UUID + "&file_name=" + attach.Name url = setting.PROXYURL + "/obs_proxy_download?uuid=" + attach.UUID + "&file_name=" + attach.Name
log.Info("return url=" + url) log.Info("return url=" + url)
} else { } else {
url, err = storage.ObsGetPreSignedUrl(attach.UUID, attach.Name)
objectName := strings.TrimPrefix(path.Join(setting.BasePath, path.Join(attach.UUID[0:1], attach.UUID[1:2], attach.UUID, attach.Name)), "/")
url, err = storage.ObsGetPreSignedUrl(objectName, attach.Name)
if err != nil { if err != nil {
ctx.ServerError("ObsGetPreSignedUrl", err) ctx.ServerError("ObsGetPreSignedUrl", err)
return return
@@ -684,9 +685,9 @@ func GetSuccessChunks(ctx *context.Context) {
} }
} }


func getMinioInitObjectName(scene string, uuid string, filename string) string {
func getMinioInitObjectName(scene string, uuid, modeluuid string, filename string) string {
if scene == Attachment_model { if scene == Attachment_model {
return strings.TrimPrefix(path.Join(Model_prefix, path.Join(uuid[0:1], uuid[1:2], uuid, filename)), "/")
return strings.TrimPrefix(path.Join(Model_prefix, path.Join(modeluuid[0:1], modeluuid[1:2], modeluuid, filename)), "/")
} else { } else {
return strings.TrimPrefix(path.Join(setting.Attachment.Minio.BasePath, path.Join(uuid[0:1], uuid[1:2], uuid)), "/") return strings.TrimPrefix(path.Join(setting.Attachment.Minio.BasePath, path.Join(uuid[0:1], uuid[1:2], uuid)), "/")
} }
@@ -700,9 +701,9 @@ func getChunkMinioExistObjectName(scene string, fileChunk *models.FileChunk, fil
} }
} }


func getOBSInitObjectName(scene string, uuid string, filename string) string {
func getOBSInitObjectName(scene string, uuid, modeluuid string, filename string) string {
if scene == Attachment_model { if scene == Attachment_model {
return strings.TrimPrefix(path.Join(Model_prefix, path.Join(uuid[0:1], uuid[1:2], uuid, filename)), "/")
return strings.TrimPrefix(path.Join(Model_prefix, path.Join(modeluuid[0:1], modeluuid[1:2], modeluuid, filename)), "/")
} else { } else {
return strings.TrimPrefix(path.Join(setting.BasePath, path.Join(uuid[0:1], uuid[1:2], uuid, filename)), "/") return strings.TrimPrefix(path.Join(setting.BasePath, path.Join(uuid[0:1], uuid[1:2], uuid, filename)), "/")
} }
@@ -752,20 +753,21 @@ func NewMultipart(ctx *context.Context) {
} }


uuid := gouuid.NewV4().String() uuid := gouuid.NewV4().String()
modeluuid := ""
if scene == Attachment_model { if scene == Attachment_model {
uuid = ctx.Query("uuid")
modeluuid = ctx.Query("modeluuid")
} }
var uploadID string var uploadID string
var objectName string var objectName string
if typeCloudBrain == models.TypeCloudBrainOne { if typeCloudBrain == models.TypeCloudBrainOne {
objectName = getMinioInitObjectName(scene, uuid, fileName)
objectName = getMinioInitObjectName(scene, uuid, modeluuid, fileName)
uploadID, err = storage.NewMultiPartUpload(objectName) uploadID, err = storage.NewMultiPartUpload(objectName)
if err != nil { if err != nil {
ctx.ServerError("NewMultipart", err) ctx.ServerError("NewMultipart", err)
return return
} }
} else { } else {
objectName = getOBSInitObjectName(scene, uuid, fileName)
objectName = getOBSInitObjectName(scene, uuid, modeluuid, fileName)
uploadID, err = storage.NewObsMultiPartUpload(objectName) uploadID, err = storage.NewObsMultiPartUpload(objectName)
if err != nil { if err != nil {
ctx.ServerError("NewObsMultiPartUpload", err) ctx.ServerError("NewObsMultiPartUpload", err)
@@ -811,8 +813,8 @@ func PutOBSProxyUpload(ctx *context.Context) {
ctx.Error(500, fmt.Sprintf("FormFile: %v", RequestBody)) ctx.Error(500, fmt.Sprintf("FormFile: %v", RequestBody))
return return
} }
err := storage.ObsMultiPartUpload(uuid, uploadID, partNumber, fileName, RequestBody.ReadCloser())
objectName := strings.TrimPrefix(path.Join(setting.BasePath, path.Join(uuid[0:1], uuid[1:2], uuid, fileName)), "/")
err := storage.ObsMultiPartUpload(objectName, uploadID, partNumber, fileName, RequestBody.ReadCloser())
if err != nil { if err != nil {
log.Info("upload error.") log.Info("upload error.")
} }
@@ -821,8 +823,8 @@ func PutOBSProxyUpload(ctx *context.Context) {
func GetOBSProxyDownload(ctx *context.Context) { func GetOBSProxyDownload(ctx *context.Context) {
uuid := ctx.Query("uuid") uuid := ctx.Query("uuid")
fileName := ctx.Query("file_name") fileName := ctx.Query("file_name")
body, err := storage.ObsDownload(uuid, fileName)
objectName := strings.TrimPrefix(path.Join(setting.BasePath, path.Join(uuid[0:1], uuid[1:2], uuid, fileName)), "/")
body, err := storage.ObsDownloadAFile(setting.Bucket, objectName)
if err != nil { if err != nil {
log.Info("upload error.") log.Info("upload error.")
} else { } else {


Loading…
Cancel
Save