|
@@ -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 { |
|
|