gpt4 book ai didi

javascript - 如何使用 Go 从磁盘读取文件并将其传递给 WebAssembly?

转载 作者:IT王子 更新时间:2023-10-29 01:43:54 26 4
gpt4 key购买 nike

具体如何连接<input type="file">在 Go 中有这个功能?我知道有“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
}

最佳答案

多年来我一直想要一个满意的答案,前几天晚上终于想通了。

您基本上可以将整个事情归结为:

    fileInput := document.Call("getElementById", "fileInput")

fileInput.Set("oninput", js.FuncOf(func(v js.Value, x []js.Value) any {
fileInput.Get("files").Call("item", 0).Call("arrayBuffer").Call("then", js.FuncOf(func(v js.Value, x []js.Value) any {
data := js.Global().Get("Uint8Array").New(x[0])
dst := make([]byte, data.Get("length").Int())
js.CopyBytesToGo(dst, data)
// the data from the file is in dst - do what you want with it


return nil
}))

return nil
}))

我在这里写了一篇关于它的小博文,在底部运行了有效的 WASM 代码

https://donatstudios.com/Read-User-Files-With-Go-WASM

关于javascript - 如何使用 Go 从磁盘读取文件并将其传递给 WebAssembly?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54281585/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com