csv/handler/file-handler.go

34 lines
803 B
Go

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
}