1,后端
关键:把一个文件夹设置为静态文件夹
package main
import (
"fmt"
"github.com/gin-gonic/gin"
"log"
"net/http"
)
func main() {
router := gin.Default()
// 把文件夹设置为静态文件,可直接在浏览器访问图片
router.StaticFS("/images", http.Dir("./images"))
// 为 multipart forms 设置较低的内存限制 (默认是 32 MiB)
router.MaxMultipartMemory = 8 << 20 // 8 MiB
router.POST("/index", func(c *gin.Context) {
// 单文件
file, _ := c.FormFile("file")
log.Println(file.Filename)
log.Println("我是文件的名字", file.Filename)
dst := "./" + "images/" + file.Filename
// 上传文件至指定的完整文件路径
c.SaveUploadedFile(file, dst)
c.String(http.StatusOK, fmt.Sprintf("'%s' uploaded!", file.Filename))
})
router.LoadHTMLGlob("templates/*")
//router.LoadHTMLFiles("templates/template1.html", "templates/template2.html")
router.GET("/upload", func(c *gin.Context) {
c.HTML(http.StatusOK, "hello.html", gin.H{
"title": "Main website",
})
})
router.Run(":8080")
}
2,我这里上传的文件名是77.webp.
我把项目里的images文件夹设置为了静态文件夹
上传之后项目里的images文件夹就会出现77.webp
3,在浏览器中访问