From bcb5f69d0377e36ca01e2cfd8184da355703c111 Mon Sep 17 00:00:00 2001 From: zouap Date: Mon, 30 May 2022 17:54:35 +0800 Subject: [PATCH] =?UTF-8?q?=E6=8F=90=E4=BA=A4=E4=BB=A3=E7=A0=81=EF=BC=8C?= =?UTF-8?q?=E5=AF=B9minio=E6=A8=A1=E5=9E=8B=E8=BF=9B=E8=A1=8C=E4=B8=8B?= =?UTF-8?q?=E8=BD=BD=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: zouap --- modules/storage/minio.go | 10 ++++++++++ modules/storage/minio_ext.go | 1 - routers/repo/ai_model_manage.go | 21 +++++++++++---------- 3 files changed, 21 insertions(+), 11 deletions(-) diff --git a/modules/storage/minio.go b/modules/storage/minio.go index 7b914817d..47f70e12d 100755 --- a/modules/storage/minio.go +++ b/modules/storage/minio.go @@ -59,6 +59,16 @@ func (m *MinioStorage) buildMinioPath(p string) string { return strings.TrimPrefix(path.Join(m.basePath, p), "/") } +func (m *MinioStorage) DownloadAFile(bucket string, objectName string) (io.ReadCloser, error) { + + var opts = minio.GetObjectOptions{} + object, err := m.client.GetObject(m.bucket, objectName, opts) + if err != nil { + return nil, err + } + return object, nil +} + // Open open a file func (m *MinioStorage) Open(path string) (io.ReadCloser, error) { var opts = minio.GetObjectOptions{} diff --git a/modules/storage/minio_ext.go b/modules/storage/minio_ext.go index 6aeaec623..82efcc710 100755 --- a/modules/storage/minio_ext.go +++ b/modules/storage/minio_ext.go @@ -113,7 +113,6 @@ func GenMultiPartSignedUrl(uuid string, uploadId string, partNumber int, partSiz objectName := strings.TrimPrefix(path.Join(minio.BasePath, path.Join(uuid[0:1], uuid[1:2], uuid)), "/") return minioClient.GenUploadPartSignedUrl(uploadId, bucketName, objectName, partNumber, partSize, PresignedUploadPartUrlExpireTime, setting.Attachment.Minio.Location) - } func GetAllObjectByBucketAndPrefixMinio(bucket string, prefix string) ([]FileInfo, error) { diff --git a/routers/repo/ai_model_manage.go b/routers/repo/ai_model_manage.go index 53030949e..ef8c4b754 100644 --- a/routers/repo/ai_model_manage.go +++ b/routers/repo/ai_model_manage.go @@ -207,14 +207,15 @@ func downloadModelFromCloudBrainTwo(modelUUID string, jobName string, parentDir func downloadModelFromCloudBrainOne(modelUUID string, jobName string, parentDir string, trainUrl string) (string, int64, error) { modelActualPath := storage.GetMinioPath(jobName, "/model/") - destKeyNamePrefix := Model_prefix + models.AttachmentRelativePath(modelUUID) + "/" - size, err := storage.MinioPathCopy(setting.Bucket, modelActualPath, destKeyNamePrefix) - if err == nil { - dataActualPath := setting.Bucket + "/" + destKeyNamePrefix - return dataActualPath, size, nil - } else { - return "", 0, nil - } + log.Info("modelActualPath=" + modelActualPath) + //destKeyNamePrefix := Model_prefix + models.AttachmentRelativePath(modelUUID) + "/" + //size, err := storage.MinioPathCopy(setting.Bucket, modelActualPath, destKeyNamePrefix) + //if err == nil { + // dataActualPath := setting.Bucket + "/" + destKeyNamePrefix + // return dataActualPath, size, nil + //} else { + return "", 0, nil + //} } func DeleteModel(ctx *context.Context) { @@ -304,7 +305,7 @@ func DownloadMultiModelFile(ctx *context.Context) { } func downloadFromCloudBrainOne(path string, task *models.AiModelManage, ctx *context.Context, id string) { - allFile, err := storage.GetAllObjectByBucketAndPrefix(setting.Bucket, path) + allFile, err := storage.GetAllObjectByBucketAndPrefixMinio(setting.Attachment.Minio.Bucket, path) if err == nil { //count++ models.ModifyModelDownloadCount(id) @@ -325,7 +326,7 @@ func downloadFromCloudBrainOne(path string, task *models.AiModelManage, ctx *con ctx.ServerError("download file failed:", err) return } - body, err := storage.ObsDownloadAFile(setting.Bucket, path+oneFile.FileName) + body, err := storage.Attachments.Open(oneFile.FileName) if err != nil { log.Info("download file failed: %s\n", err.Error()) ctx.ServerError("download file failed:", err)