gpt4 book ai didi

Golang 一些图像在图像上传时旋转

转载 作者:IT王子 更新时间:2023-10-29 02:03:38 25 4
gpt4 key购买 nike

我面临一个相当奇怪的问题,我使用 Golang 作为后端 restful API,我上传图像并使用 Go 调整它们的大小。我有一个正在测试的 I-phone 应用程序,如果我使用我的真实设备上传图像,该图像会横向保存在我的 s3 帐户中。由于某种原因,调整我的图像大小会旋转它,但是如果我从我的 Xcode IDE 上传图像,那么图像会在没有旋转的情况下正确保存。我在想,也许有些东西被剥夺了,但我不知道那会是什么,我的代码是这样的

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 部分中的图像方向标签 (val x00112)。当您剥离 Exif 部分时,就像图像包一样,您会丢失该信息并且图像以标准相机方向格式(横向)显示。

关于Golang 一些图像在图像上传时旋转,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41771442/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com