package handler import ( "encoding/csv" "os" "github.com/gin-gonic/gin" ) func DownLoadFile(c *gin.Context) { filepath := "./uploads/file.csv" //文件路径 file, err := os.OpenFile(filepath, os.O_RDWR|os.O_CREATE|os.O_APPEND, 0666) //文件打开 if err != nil { panic(err) } defer file.Close() WriterCsv := csv.NewWriter(file) //csv文件写入 // 写入的数据 str := []string{"xxs", "asfsa"} err1 := WriterCsv.Write(str) if err1 != nil { panic(err) } // 刷新 WriterCsv.Flush() c.Header("Content-Type", "application/octet-stream") c.Header("Content-Disposition", "attachment; filename=\""+"file.csv"+"\"") //文件名传入数据流 c.Header("Content-Transfer-Encoding", "binary") c.File(filepath) //文件路径 return }