@@ -39,6 +39,14 @@ func (l *LocalStorage) Open(path string) (io.ReadCloser, error) { | |||||
return f, nil | return f, nil | ||||
} | } | ||||
func (l *LocalStorage) DownloadAFile(bucket string, objectName string) (io.ReadCloser, error) { | |||||
f, err := os.Open(filepath.Join(l.dir, objectName)) | |||||
if err != nil { | |||||
return nil, err | |||||
} | |||||
return f, nil | |||||
} | |||||
// Save save a file | // Save save a file | ||||
func (l *LocalStorage) Save(path string, r io.Reader) (int64, error) { | func (l *LocalStorage) Save(path string, r io.Reader) (int64, error) { | ||||
p := filepath.Join(l.dir, path) | p := filepath.Join(l.dir, path) | ||||
@@ -72,7 +72,6 @@ func (m *MinioStorage) DownloadAFile(bucket string, objectName string) (io.ReadC | |||||
// Open open a file | // Open open a file | ||||
func (m *MinioStorage) Open(path string) (io.ReadCloser, error) { | func (m *MinioStorage) Open(path string) (io.ReadCloser, error) { | ||||
var opts = minio.GetObjectOptions{} | var opts = minio.GetObjectOptions{} | ||||
log.Info("minio objectName=" + m.buildMinioPath(path)) | |||||
object, err := m.client.GetObject(m.bucket, m.buildMinioPath(path), opts) | object, err := m.client.GetObject(m.bucket, m.buildMinioPath(path), opts) | ||||
if err != nil { | if err != nil { | ||||
return nil, err | return nil, err | ||||
@@ -22,6 +22,7 @@ const ( | |||||
type ObjectStorage interface { | type ObjectStorage interface { | ||||
Save(path string, r io.Reader) (int64, error) | Save(path string, r io.Reader) (int64, error) | ||||
Open(path string) (io.ReadCloser, error) | Open(path string) (io.ReadCloser, error) | ||||
DownloadAFile(bucket string, objectName string) (io.ReadCloser, error) | |||||
Delete(path string) error | Delete(path string) error | ||||
DeleteDir(dir string) error | DeleteDir(dir string) error | ||||
PresignedGetURL(path string, fileName string) (string, error) | PresignedGetURL(path string, fileName string) (string, error) | ||||
@@ -327,7 +327,7 @@ func MinioDownloadManyFile(path string, ctx *context.Context, returnFileName str | |||||
return | return | ||||
} | } | ||||
log.Info("minio file path=" + (path + oneFile.FileName)) | log.Info("minio file path=" + (path + oneFile.FileName)) | ||||
body, err := storage.Attachments.Open(path + oneFile.FileName) | |||||
body, err := storage.Attachments.DownloadAFile(setting.Attachment.Minio.Bucket, path+oneFile.FileName) | |||||
if err != nil { | if err != nil { | ||||
log.Info("download file failed: %s\n", err.Error()) | log.Info("download file failed: %s\n", err.Error()) | ||||
ctx.ServerError("download file failed:", err) | ctx.ServerError("download file failed:", err) | ||||