diff --git a/dsSzxy/main.go b/dsSzxy/main.go index fc45b3f5..68926361 100644 --- a/dsSzxy/main.go +++ b/dsSzxy/main.go @@ -25,6 +25,16 @@ func Ext(path string) string { } return "" } +func PathExists(path string) (bool, error) { + _, err := os.Stat(path) + if err == nil { + return true, nil + } + if os.IsNotExist(err) { + return false, nil + } + return false, err +} // @title 东师理想智慧校园支撑系统 // @version 2.0 @@ -37,31 +47,40 @@ func main() { gin.SetMode(gin.DebugMode) // 开启gin服务器 r := gin.Default() + //设置静态资源 + r.Static("/static", "./static") // 允许跨域 r.Use(Utils.Cors()) // 显示Logo var logo = FileUtil.ReadFileContent("./Config/logo.txt") fmt.Print(logo) + //http://192.168.100.100:8010/static/upload.html //http://192.168.100.100:8010/upload //post //controller注册 //上传文件 - r.MaxMultipartMemory = 80 << 20 // 80 MiB + r.MaxMultipartMemory = 100 << 20 // 设置最大上传大小为100M r.POST("/upload", func(c *gin.Context) { file, err := c.FormFile("file") if err != nil { c.String(http.StatusBadRequest, fmt.Sprintf("get form err: %s", err.Error())) return } - //扩展名 ext := Ext(file.Filename) ext = strings.ToLower(ext) //真实文件名 uuid := CommonUtil.GetUUID() + //子目录 + p := ConfigUtil.SavePath + uuid[0:2] + exist, _ := PathExists(p) + if !exist { + os.Mkdir(p, os.ModePerm) + } + trueName := uuid + ext - filename := ConfigUtil.SavePath + trueName + filename := p + "/" + trueName if err := c.SaveUploadedFile(file, filename); err != nil { c.String(http.StatusBadRequest, fmt.Sprintf("upload file err: %s", err.Error())) return @@ -77,9 +96,9 @@ func main() { return } //生成缩略图,尺寸150*200,并保持到为文件2.jpg - image = imaging.Resize(image, 150, 200, imaging.Lanczos) + image = imaging.Resize(image, 0, 150, imaging.Lanczos) thumbFileName := uuid + "_thumb" + ext - thumbTrueName := ConfigUtil.SavePath + thumbFileName + thumbTrueName := p + "/" + thumbFileName err = imaging.Save(image, thumbTrueName) if err != nil { fmt.Println(err) @@ -92,9 +111,9 @@ func main() { //base64压缩 sourceString := base64.StdEncoding.EncodeToString(sourceBuffer[:n]) c.JSON(200, gin.H{ - "success": true, - "url": trueName, - "thumbContent": sourceString, + "success": true, + "url": trueName, + "thumbContent": sourceString, }) } else { c.JSON(200, gin.H{ diff --git a/dsSzxy/static/upload.html b/dsSzxy/static/upload.html new file mode 100644 index 00000000..abf4335a --- /dev/null +++ b/dsSzxy/static/upload.html @@ -0,0 +1,14 @@ + + + + + Title + + +

上传测试

+
+

+

+
+ + \ No newline at end of file