|
|
@@ -0,0 +1,50 @@
|
|
|
+package router
|
|
|
+
|
|
|
+import (
|
|
|
+ "errors"
|
|
|
+ "fmt"
|
|
|
+ "github.com/gin-gonic/gin"
|
|
|
+ "net/http"
|
|
|
+ "time"
|
|
|
+)
|
|
|
+
|
|
|
+var (
|
|
|
+ uploadFileKey = "upload-key"
|
|
|
+ filepath = "./file/resources/"
|
|
|
+)
|
|
|
+
|
|
|
+func FileRouter(engine *gin.RouterGroup) {
|
|
|
+ engine.StaticFS("/static", http.Dir("file/resources"))
|
|
|
+ user := engine.Group("/file")
|
|
|
+ {
|
|
|
+ user.POST("/upload", uploadHandler)
|
|
|
+ }
|
|
|
+}
|
|
|
+
|
|
|
+func uploadHandler(c *gin.Context) {
|
|
|
+ header, err := c.FormFile("file")
|
|
|
+ fmt.Println("header", header.Size)
|
|
|
+ if err != nil {
|
|
|
+ c.JSON(200, CreateResultError(400, "上传错误"))
|
|
|
+ return
|
|
|
+ }
|
|
|
+ fmt.Println("header", header.Size)
|
|
|
+ //dst := header.Filename
|
|
|
+ // gin 简单做了封装,拷贝了文件流
|
|
|
+ //if err := c.SaveUploadedFile(header, dst); err != nil {
|
|
|
+ // c.JSON(200, CreateResultError(400, "上传错误"))
|
|
|
+ // return
|
|
|
+ //}
|
|
|
+ //上传到的路径
|
|
|
+ //path := 'resource/public/uploads/20060102150405test.xlsx'
|
|
|
+ header.Filename = fmt.Sprintf("%s%s", time.Now().Format("20060102150405"), header.Filename) // 文件名格式 自己可以改 建议保证唯一性
|
|
|
+ path := filepath + header.Filename //路径+文件名上传
|
|
|
+
|
|
|
+ // 上传文件到指定的目录
|
|
|
+ err = c.SaveUploadedFile(header, path)
|
|
|
+ if err != nil {
|
|
|
+ err = errors.New(fmt.Sprintf("上传失败,%v", err))
|
|
|
+ return
|
|
|
+ }
|
|
|
+ c.JSON(200, CreateResult())
|
|
|
+}
|