我想知道将二进制File
转换为[]byte
的最佳方法是什么
这是一个不起作用的示例代码。我想知道我应该如何调整它以返回的内容
func ReadFileAndReturnByteArray(extractedFilePath string) ([]byte, error) {
file, err := os.Open(extractedFilePath)
if err != nil {
return nil, err
}
defer file.Close()
fileinfo, err := file.Stat()
if err != nil {
fmt.Println(err)
return nil, err
}
filesize := fileinfo.Size()
buffer := make([]byte, filesize)
_, err = file.Read(buffer)
if err != nil {
fmt.Println(err)
return nil, err
}
return buffer, nil
}
os包提供了ReadFile函数,该函数仅适用于文件。它与ReadFileAndReturnByteArray
函数具有完全相同的签名,应该是一个临时替换。
io包提供适用于任何io.Reader
的ReadAll函数。
示例:
func ReadFileAndReturnByteArray(extractedFilePath string) ([]byte, error) {
file, err := os.Open(extractedFilePath)
if err != nil {
return nil, err
}
defer file.Close()
return io.ReadAll()
}