32 lines
632 B
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
|
|
}
|