add exif parsing

This commit is contained in:
2026-02-19 05:23:05 -06:00
parent e829f6b405
commit e588eb882b
2 changed files with 88 additions and 7 deletions
+58
View File
@@ -41,6 +41,7 @@ func UploadMedia(file *multipart.FileHeader, albumID string, accessToken string)
"originalFilename": file.Filename,
"fileSize": file.Size,
"contentType": file.Header.Get("Content-Type"),
"exif": map[string]interface{}{},
}
src, err := file.Open()
@@ -66,6 +67,63 @@ func UploadMedia(file *multipart.FileHeader, albumID string, accessToken string)
}
}
}
model, err := x.Get(exif.Model)
if err == nil {
val := model.String()
metadataMap["exif"].(map[string]interface{})["model"] = val
}
iso, err := x.Get(exif.ISOSpeedRatings)
if err == nil {
val, err := iso.Int(0)
if err == nil {
metadataMap["exif"].(map[string]interface{})["iso"] = val
}
}
aperture, err := x.Get(exif.FNumber)
if err == nil {
val, err := aperture.Rat(0)
if err == nil {
metadataMap["exif"].(map[string]interface{})["aperture"] = val
}
}
shutterSpeed, err := x.Get(exif.ShutterSpeedValue)
if err == nil {
val, err := shutterSpeed.Rat(0)
if err == nil {
metadataMap["exif"].(map[string]interface{})["shutterSpeed"] = val
}
}
focalLength, err := x.Get(exif.FocalLength)
if err == nil {
val, err := focalLength.Rat(0)
if err == nil {
metadataMap["exif"].(map[string]interface{})["focalLength"] = val
}
}
lensModel, err := x.Get(exif.LensModel)
if err == nil {
val := lensModel.String()
metadataMap["exif"].(map[string]interface{})["lensModel"] = val
}
lensMake, err := x.Get(exif.LensMake)
if err == nil {
val := lensMake.String()
metadataMap["exif"].(map[string]interface{})["lensMake"] = val
}
exposureTime, err := x.Get(exif.ExposureTime)
if err == nil {
val, err := exposureTime.Rat(0)
if err == nil {
metadataMap["exif"].(map[string]interface{})["exposureTime"] = val
}
}
exposureBiasValue, err := x.Get(exif.ExposureBiasValue)
if err == nil {
val, err := exposureBiasValue.Rat(0)
if err == nil {
metadataMap["exif"].(map[string]interface{})["exposureBiasValue"] = val
}
}
}
}
}