提供文件上传及静态服务
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

48 lines
944 B

4 months ago
package service
import (
"fmt"
"io"
"mime/multipart"
"net/url"
"os"
"service-api/global"
"time"
)
func UploadToMinio(objectName string, file *multipart.FileHeader, contentType string) error {
var (
err error
//exists bool
src multipart.File
)
defer src.Close()
out, err := os.Create(objectName)
if err != nil {
return err
}
defer out.Close()
// 将上传的文件内容复制到目标文件
_, err = io.Copy(out, src)
if err != nil {
return err
}
return nil
}
func GetFileUrl(bucketName, fielname string) (err error, urls string) {
//reqParam := make(url.Values)
//reqParam.Set("response-source", "nft;")
reqParams := make(url.Values)
reqParams.Set("response-content-disposition", "attachment; filename="+fielname)
url, err := global.MG_MINIO.PresignedGetObject(bucketName, fielname, time.Second*60*5, reqParams)
if err != nil {
fmt.Println(err)
return
}
fmt.Println(url)
urls = url.Path
return
}