【发布时间】:2019-06-14 08:21:31
【问题描述】:
具体来说,如何在 Go 中将 <input type="file"> 与这个函数连接起来?
我知道有“syscall/js”包,但是我没有找到任何文件读取的例子。
func parseCSVFile(filePath string) []LabelWithFeatures {
fileContent, _ := ioutil.ReadFile(filePath)
lines := bytes.Split(fileContent, newline)
numRows := len(lines)
labelsWithFeatures := make([]LabelWithFeatures, numRows-2)
for i, line := range lines {
// skip headers
if i == 0 || i == numRows-1 {
continue
}
labelsWithFeatures[i-1] = NewLabelWithFeatures(bytes.Split(line, comma))
}
return labelsWithFeatures
}
【问题讨论】:
-
出于安全原因,您不能在浏览器中与本地文件系统进行交互。
-
也许你需要使用
syscall/jsblog.gopheracademy.com/advent-2018/go-in-the-browser调用FileReaderJavaScript API(developer.mozilla.org/en-US/docs/Web/API/File/…) -
@Adrian 你当然可以,你只需要让用户给你文件。有 API,也有上传输入。
-
@donatJ 这与与本地文件系统交互不同。您不能从 JavaScript 打开任意文件路径或检查目录。访问文件的唯一方法是用户将其提供给文件表单字段。
标签: javascript go webassembly