内部で作ったCSV形式の文字列をファイルとしてダウンロードさせたかったのだが、いい感じの説明が見当たらなかったのでメモ
sample.go
func (self *Sample) OutputCSV(c web.C, w http.ResponseWriter, r *http.Request) {
// 保存させたい文字列をbyte配列にする
out := []byte("test,test2,test3")
// いろんな文字列情報
// ファイル名
w.Header().Set("Content-Disposition", "attachment; filename=test.csv")
// コンテントタイプ
w.Header().Set("Content-Type", "text/csv")
// ファイルの長さ
w.Header().Set("Content-Length", string(len(out)))
// bodyに書き込み
w.Write(out)
}
こちらを参考にしました
golang - how to download file in browser from golang server?