从mux.HandleFunc
调用,我有一个http.Request.FormFile
类型为multipart.File
。我以浏览器的文件上传速度为基准,因此不需要验证数据。我当前的代码是:
fileBytes, err := ioutil.ReadAll(file)
if err != nil {
fmt.Println(err)
}
return len(fileBytes)
ioutil.ReadAll
不需要的副本。是否有另一种方法可以验证我是否拥有所有数据而无需创建副本?(可选)我可以将
len(fileBytes)
替换为什么?如果应该在另一个问题中,则可以忽略它。我尝试了什么
.ReadAll
调用 readAll
调用 bytes.Buffer.ReadFrom
调用io.Reader.Read
,但我找不到。
最佳答案
使用 io.Copy()
将文件内容复制到 ioutil.Discard
中,该文件不存储而是丢弃数据。 io.Copy()
复制直到达到EOF(或发生错误),并返回复制的字节数:
n, err := io.Copy(ioutil.Discard, file)
关于go - ioutil.ReadAll替代方案,仅使用数据,而无需复制字节数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62693856/