英文:
Read content of *multipart.FileHeader into []byte
问题
如何在Go中将包含在*multipart.FileHeader中的文件的主体/内容读取到字节切片([]byte)中。
我唯一能够工作的是将内容读取到一个巨大大小的字节切片中,但是我当然想要文件的确切大小。
之后,我想用md5对文件内容进行哈希。
// file是从HTTP请求中获取的*multipart.FileHeader。
fileContent, _ := file.Open()
var byteContainer []byte
byteContainer = make([]byte, 1000000)
fileContent.Read(byteContainer)
fmt.Println(byteContainer)
英文:
How can I read the body/content of a file contained in a *multipart.FileHeader into a slice of bytes ([]byte) in GO.
The only thing I got to work was reading the content into a slice of bytes with a huge size, but of course I want the exact size of the file.
I want to hash the file content with md5 afterwards.
// file is a *multipart.FileHeader gotten from http request.
fileContent, _ := file.Open()
var byteContainer []byte
byteContainer = make([]byte, 1000000)
fileContent.Read(byteContainer)
fmt.Println(byteContainer)
答案1
得分: 5
尝试使用ioutil.ReadAll。
https://play.golang.org/p/FUgPAZ9w2X.
在你的情况下,可以这样做:
byteContainer, err := ioutil.ReadAll(fileContent) // 你可能需要处理错误
fmt.Printf("size:%d", len(byteContainer))
你可能还想看一下multipart
包文档中的这个示例,
https://play.golang.org/p/084tWn65-d
英文:
Try ioutil.ReadAll
https://play.golang.org/p/FUgPAZ9w2X.
In your case do;
byteContainer, err := ioutil.ReadAll(fileContent) // you may want to handle the error
fmt.Printf("size:%d", len(byteContainer))
You may also want to see this example from multipart
package docs,
https://play.golang.org/p/084tWn65-d
通过集体智慧和协作来改善编程学习和解决问题的方式。致力于成为全球开发者共同参与的知识库,让每个人都能够通过互相帮助和分享经验来进步。
评论