Beacon/utils/file.go

32 lines
632 B
Go

package utils
import (
"fmt"
"go.uber.org/zap"
"io"
"mime/multipart"
)
func FileStreamToBytes(file *multipart.FileHeader) []byte {
// 打开文件
f, err := file.Open()
if err != nil {
zap.L().Info(fmt.Sprintf("无法打开文件: %s", err.Error()))
return nil
}
defer func(file multipart.File) {
err := file.Close()
if err != nil {
zap.L().Warn(fmt.Sprintf("警告文件未正常关闭:%s", err.Error()))
}
}(f)
// 读取文件的所有内容
fileBytes, err := io.ReadAll(f)
if err != nil {
zap.L().Info(fmt.Sprintf("无法读取文件内容: %s", err.Error()))
return nil
}
return fileBytes
}