在Go中,获取* multipart.File的md5的正确方法是什么?
这是我的代码,返回了错误的md5:
// GetFileMd5 count file's md5
// return md5 string
func GetFileMd5(file multipart.File) (md5Str string) {
h := md5.New()
if _, err := file.Seek(0, 0); err != nil {
log.Error("Get file md5 error: %v", err)
}
if _, err := io.Copy(h, file); err != nil {
log.Error("Get file md5 error: %v", err)
}
md5Str = hex.EncodeToString(h.Sum(nil))
log.Debug("File md5 is: %s", md5Str)
return md5Str
}