Browse Source

提交代码,对minio模型进行下载。

Signed-off-by: zouap <zouap@pcl.ac.cn>
tags/v1.22.7.1
zouap 3 years ago
parent
commit
bcb5f69d03
3 changed files with 21 additions and 11 deletions
  1. +10
    -0
      modules/storage/minio.go
  2. +0
    -1
      modules/storage/minio_ext.go
  3. +11
    -10
      routers/repo/ai_model_manage.go

+ 10
- 0
modules/storage/minio.go View File

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


+ 0
- 1
modules/storage/minio_ext.go View File

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


+ 11
- 10
routers/repo/ai_model_manage.go View File

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


Loading…
Cancel
Save