Files
photocatalog/internal/metadata/exif.go
2025-01-04 01:49:48 +03:00

29 lines
460 B
Go

package metadata
import (
"fmt"
"io"
"github.com/rwcarlsen/goexif/exif"
)
type Exif struct{}
func (j Exif) Extract(_ string, data io.Reader) (Metadata, error) {
decode, err := exif.Decode(data)
if err != nil {
return Metadata{}, fmt.Errorf("decode exif: %w", err)
}
meta := Metadata{}
created, err := decode.DateTime()
if err != nil {
return Metadata{}, fmt.Errorf("parse datetime: %w", err)
}
meta.Created = created
return meta, nil
}