package core import ( "fmt" "kenaito-media-picker/store" "kenaito-media-picker/util" "kenaito-media-picker/vars" "os" ) // saveMediaRecord 计算MD5并将媒体信息写入数据库 func saveMediaRecord(filePath string, mediaType string, width int, height int, duration float64, codec string, format string, rawInfo string) { md5Str, err := util.CalcFileMd5(filePath) if err != nil { fmt.Printf("=== 计算MD5失败: %s, 错误: %v\n", filePath, err) return } info := &store.MediaInfo{ FileMd5: md5Str, FilePath: filePath, FileName: vars.GlobalFilePath2FileNameMap[filePath], FileExt: vars.GlobalFilePath2FileExtMap[filePath], MimeType: vars.GlobalFilePath2MimeInfoMap[filePath], MediaType: mediaType, Width: width, Height: height, Duration: duration, Codec: codec, Format: format, RawInfo: rawInfo, } if st, err := os.Stat(filePath); err == nil { info.FileSize = st.Size() } if err := store.SaveMedia(info); err != nil { fmt.Printf("=== 保存媒体信息失败: %s, 错误: %v\n", filePath, err) } }