fix: 修复媒体整理中的文件覆盖、BMP解析与重复整理问题

- 移动文件改用 uuid+原文件名,避免同名覆盖丢失数据
- BMP 负高度取绝对值,自顶向下格式解析正确
- 新增 {目录名}-picker 白名单输出目录,整理后跳过重复扫描
- 分类目录名去掉 uuid 前缀,重复运行并入已有目录
This commit is contained in:
2025-03-15 21:17:24 +08:00
parent 0ebd84d3fe
commit f5e3f6b4ef
8 changed files with 239 additions and 135 deletions
+10 -1
View File
@@ -56,7 +56,8 @@ func ReadBmpImage(filePath string) (error, int32, int32) {
fmt.Printf("=== Failed to Read file: %v\n", err)
return err, 0, 0
}
return err, infoHeader.Width, infoHeader.Height
// 自顶向下 BMP 的高度为负值,取绝对值避免影响后续解析
return err, absInt32(infoHeader.Width), absInt32(infoHeader.Height)
//fmt.Printf("=== File size: %d bytes\n", fileHeader.FileSize)
//fmt.Printf("=== Image dimensions: %dx%d\n", )
//fmt.Printf("=== Bits per pixel: %d\n", infoHeader.BitsPerPixel)
@@ -76,3 +77,11 @@ func ReadBmpImage(filePath string) (error, int32, int32) {
//}
//fmt.Printf("=== Read %d bytes of pixel data.\n", len(data))
}
// absInt32 返回 int32 的绝对值
func absInt32(v int32) int32 {
if v < 0 {
return -v
}
return v
}