Go言語の案件で、フォームからCSVファイルを受け取ってインポートする対応があり、その際に実装した内容のメモ
ソースコード
func CsvImportPostHandler(context *gin.Context) {
// CSVファイル取得(csvfile=フォームのname属性の値)
file, header , err := context.Request.FormFile("csvfile")
// ファイル名
fmt.Println(header.Filename)
// ファイル読み取り
reader := csv.NewReader(file)
reader.LazyQuotes = true // ダブルクオートを厳密にチェックしない
// レコード読み取り
var line []string
for {
// 行毎のデータ取得してlineに格納
line, err = reader.Read()
if err != nil {
break
}
// データ表示
for _, s := range line {
fmt.Println(s)
}
}
}