Ai
0 Star 0 Fork 0

one_love/blog-service

Create your Gitee Account
Explore and code with more than 13.5 million developers,Free private repositories !:)
Sign up
文件
Clone or Download
upload.go 1.19 KB
Copy Edit Raw Blame History
package service
import (
"errors"
"fmt"
"mime/multipart"
"os"
"gitee.com/one_love/blog-service/global"
"gitee.com/one_love/blog-service/pkg/upload"
)
type FileInfo struct {
Name string
AccessUrl string
}
func (svc *Service) UploadFile(fileType upload.FileType, file multipart.File, fileHeader *multipart.FileHeader) (*FileInfo, error) {
fileName := upload.GetFileName(fileHeader.Filename)
uploadSavePath := upload.GetSavePath()
dst := uploadSavePath + "/" + fileName
if !upload.CheckContaionExt(fileType, fileName) {
return nil, errors.New("file suffix is not supported")
}
if upload.CheckSavePath(uploadSavePath) {
if err := upload.CreateSavePath(uploadSavePath, os.ModePerm); err != nil {
return nil, errors.New("filed to create save directory")
}
}
if upload.CheckMaxSize(fileType, file) {
return nil, errors.New("exceeded maxium file limit")
}
if upload.CheckPermission(uploadSavePath) {
return nil, errors.New("insufficient file permissions")
}
if err := upload.SaveFile(fileHeader, dst); err != nil {
fmt.Println(dst)
return nil, err
}
accessUrl := global.AppSetting.UploadServerUrl + "/" + fileName
return &FileInfo{Name: fileName, AccessUrl: accessUrl}, nil
}
Loading...
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
Go
1
https://gitee.com/one_love/blog-service.git
git@gitee.com:one_love/blog-service.git
one_love
blog-service
blog-service
b40c837dd65d

Search