Я столкнулся с довольно странной проблемой, я использую Golang в качестве backend restful API и загружаю изображения и изменяю их размер с помощью Go. У меня есть приложение для I-телефона, которое я тестирую, и если я загружу изображение с помощью своего реального устройства, изображение будет сохранено в моей учетной записи s3 сбоку. По какой-то причине изменение размера моего изображения приводит к его вращению, однако, если я загружу изображение из своей Xcode IDE, изображение будет сохранено правильно без вращения. Я имею в виду, что может быть что-то становится раздели, однако я понятия не имею, что это мог, мой код этоGolang некоторые изображения вращаются при загрузке изображения
func UploadStreamImage(w http.ResponseWriter, r *http.Request) {
r.ParseForm()
var buff bytes.Buffer
var result string
wg := sync.WaitGroup{}
print("Exoler-Streams")
wg.Add(1)
go func() {
defer wg.Done()
sess, _ := 's3 credentials'
svc := s3.New(sess)
file, handler, err := r.FormFile("file")
if err != nil {
fmt.Println("Error Uploading Image")
return
}
defer file.Close()
// resize image
img,err := imaging.Decode(file)
if err != nil {
print("Imaging Open error")
}
new_image := imaging.Resize(img, 300, 300, imaging.Lanczos)
var buf bytes.Buffer
err = imaging.Encode(&buf,new_image, imaging.JPEG)
if err != nil {
log.Println(err)
return
}
// end resize
r := bytes.NewReader(buf.Bytes())
read_file,err := ioutil.ReadAll(r)
if err != nil {
fmt.Println("Error Reading file")
}
// s3 specific code
}
библиотека Я использую это https://github.com/disintegration/imaging и я просто думаю что что-то раздели при загрузке изображение с моего реального устройства, таким образом, оно испортит вращение. Код на интерфейсе - все равно для моего реального устройства и Xcode.
Да, вы снимаете тег вращения exif. – JimB