1. package main
    2. import (
    3. "fmt"
    4. "net/http"
    5. "os"
    6. "time"
    7. "github.com/gin-gonic/gin"
    8. )
    9. func Cors() gin.HandlerFunc {
    10. return func(c *gin.Context) {
    11. method := c.Request.Method
    12. //fmt.Println(method)
    13. c.Header("Access-Control-Allow-Origin", "*")
    14. c.Header("Access-Control-Allow-Headers", "Content-Type,AccessToken,X-CSRF-Token, Authorization, Token, x-requested-with")
    15. c.Header("Access-Control-Allow-Methods", "POST, GET, OPTIONS, PUT, PATCH, DELETE")
    16. c.Header("Access-Control-Allow-Credentials", "true")
    17. c.Header("Access-Control-Expose-Headers", "Content-Type,Content-Length, Access-Control-Allow-Origin, Access-Control-Allow-Headers")
    18. // 放行所有OPTIONS方法,因为有的模板是要请求两次的
    19. if method == "OPTIONS" {
    20. c.AbortWithStatus(http.StatusNoContent)
    21. }
    22. // 处理请求
    23. c.Next()
    24. }
    25. }
    26. func main() {
    27. r := gin.Default()
    28. r.Use(Cors())
    29. // 导入账号接口
    30. r.POST("/account/import", func(c *gin.Context) {
    31. file, _ := c.FormFile("file")
    32. dir_path := "./runtime/"
    33. file_path := fmt.Sprintf("%s %d %s", dir_path, (time.Now()).Unix(), file.Filename)
    34. os.Mkdir("./runtime", os.ModePerm) // 创建文件夹
    35. c.SaveUploadedFile(file, file_path) // 保存上传文件到指定路径
    36. c.JSON(200, gin.H{
    37. "fileName": file.Filename,
    38. })
    39. })
    40. //
    41. r.Run(":80") // Run("里面不指定端口号默认为8080")
    42. }

    参考 https://blog.csdn.net/u010918487/article/details/82686293