commit
01233ea9a1
@ -121,6 +121,7 @@ QQ群:1127401830
|
|||||||
* T*i 10元
|
* T*i 10元
|
||||||
* *伟 10元
|
* *伟 10元
|
||||||
* 老白@天智 20元
|
* 老白@天智 20元
|
||||||
|
* 劉鑫 30元
|
||||||
|
|
||||||
支付宝:
|
支付宝:
|
||||||
|
|
||||||
|
@ -7,6 +7,7 @@ import (
|
|||||||
"ferry/tools/app"
|
"ferry/tools/app"
|
||||||
"fmt"
|
"fmt"
|
||||||
"io/ioutil"
|
"io/ioutil"
|
||||||
|
"os"
|
||||||
"strings"
|
"strings"
|
||||||
|
|
||||||
"github.com/spf13/viper"
|
"github.com/spf13/viper"
|
||||||
@ -27,10 +28,19 @@ import (
|
|||||||
|
|
||||||
func UploadFile(c *gin.Context) {
|
func UploadFile(c *gin.Context) {
|
||||||
var (
|
var (
|
||||||
urlPrefix string
|
urlPrefix string
|
||||||
tag string
|
tag string
|
||||||
|
fileType string
|
||||||
|
saveFilePath string
|
||||||
|
err error
|
||||||
)
|
)
|
||||||
tag, _ = c.GetPostForm("type")
|
tag, _ = c.GetPostForm("type")
|
||||||
|
fileType = c.DefaultQuery("file_type", "images")
|
||||||
|
|
||||||
|
if fileType != "images" && fileType != "files" {
|
||||||
|
app.Error(c, -1, fmt.Errorf("上传接口目前,仅支持图片上传和文件上传"), "")
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
if viper.GetBool("settings.domain.getHost") {
|
if viper.GetBool("settings.domain.getHost") {
|
||||||
urlPrefix = fmt.Sprintf("http://%s/", c.Request.Host)
|
urlPrefix = fmt.Sprintf("http://%s/", c.Request.Host)
|
||||||
@ -43,40 +53,52 @@ func UploadFile(c *gin.Context) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
if tag == "" {
|
if tag == "" {
|
||||||
app.Error(c, 200, errors.New(""), "缺少标识")
|
tag = "1"
|
||||||
return
|
}
|
||||||
} else {
|
|
||||||
switch tag {
|
|
||||||
case "1": // 单图
|
|
||||||
files, err := c.FormFile("file")
|
|
||||||
if err != nil {
|
|
||||||
app.Error(c, 200, errors.New(""), "图片不能为空")
|
|
||||||
return
|
|
||||||
}
|
|
||||||
// 上传文件至指定目录
|
|
||||||
guid := uuid.New().String()
|
|
||||||
|
|
||||||
singleFile := "static/uploadfile/" + guid + utils.GetExt(files.Filename)
|
saveFilePath = "static/uploadfile/" + fileType + "/"
|
||||||
_ = c.SaveUploadedFile(files, singleFile)
|
_, err = os.Stat(saveFilePath)
|
||||||
app.OK(c, urlPrefix+singleFile, "上传成功")
|
if os.IsNotExist(err) {
|
||||||
|
err = os.MkdirAll(saveFilePath, 0755)
|
||||||
|
if err != nil {
|
||||||
|
app.Error(c, -1, err, fmt.Sprintf("创建图片目录失败,%v", err.Error()))
|
||||||
return
|
return
|
||||||
case "2": // 多图
|
|
||||||
files := c.Request.MultipartForm.File["file"]
|
|
||||||
multipartFile := make([]string, len(files))
|
|
||||||
for _, f := range files {
|
|
||||||
guid := uuid.New().String()
|
|
||||||
multipartFileName := "static/uploadfile/" + guid + utils.GetExt(f.Filename)
|
|
||||||
_ = c.SaveUploadedFile(f, multipartFileName)
|
|
||||||
multipartFile = append(multipartFile, urlPrefix+multipartFileName)
|
|
||||||
}
|
|
||||||
app.OK(c, multipartFile, "上传成功")
|
|
||||||
return
|
|
||||||
case "3": // base64
|
|
||||||
files, _ := c.GetPostForm("file")
|
|
||||||
ddd, _ := base64.StdEncoding.DecodeString(files)
|
|
||||||
guid := uuid.New().String()
|
|
||||||
_ = ioutil.WriteFile("static/uploadfile/"+guid+".jpg", ddd, 0666)
|
|
||||||
app.OK(c, urlPrefix+"static/uploadfile/"+guid+".jpg", "上传成功")
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
switch tag {
|
||||||
|
case "1": // 单图
|
||||||
|
files, err := c.FormFile("file")
|
||||||
|
if err != nil {
|
||||||
|
app.Error(c, 200, errors.New(""), "图片不能为空")
|
||||||
|
return
|
||||||
|
}
|
||||||
|
// 上传文件至指定目录
|
||||||
|
guid := uuid.New().String()
|
||||||
|
|
||||||
|
singleFile := saveFilePath + guid + utils.GetExt(files.Filename)
|
||||||
|
_ = c.SaveUploadedFile(files, singleFile)
|
||||||
|
app.OK(c, urlPrefix+singleFile, "上传成功")
|
||||||
|
return
|
||||||
|
case "2": // 多图
|
||||||
|
files := c.Request.MultipartForm.File["file"]
|
||||||
|
multipartFile := make([]string, len(files))
|
||||||
|
for _, f := range files {
|
||||||
|
guid := uuid.New().String()
|
||||||
|
multipartFileName := saveFilePath + guid + utils.GetExt(f.Filename)
|
||||||
|
_ = c.SaveUploadedFile(f, multipartFileName)
|
||||||
|
multipartFile = append(multipartFile, urlPrefix+multipartFileName)
|
||||||
|
}
|
||||||
|
app.OK(c, multipartFile, "上传成功")
|
||||||
|
return
|
||||||
|
case "3": // base64
|
||||||
|
files, _ := c.GetPostForm("file")
|
||||||
|
ddd, _ := base64.StdEncoding.DecodeString(files)
|
||||||
|
guid := uuid.New().String()
|
||||||
|
_ = ioutil.WriteFile(saveFilePath+guid+".jpg", ddd, 0666)
|
||||||
|
app.OK(c, urlPrefix+saveFilePath+guid+".jpg", "上传成功")
|
||||||
|
default:
|
||||||
|
app.Error(c, 200, errors.New(""), "标识不正确")
|
||||||
|
return
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user