猿问

如何将 []byte 对象转换为图像并将其作为 jpeg 图像存储在磁盘上

我正在尝试将 []byte 对象转换为图像并将其保存为 Golang 中的 jpeg。我尝试使用Decode图像功能,但它总是返回<nil>。


func saveFrames(imgByte []byte) {

    img, _, _ := image.Decode(bytes.NewReader(imgByte))

   out, err := os.Create("./img.jpeg")


   if err != nil {

             fmt.Println(err)

             os.Exit(1)

   }

   err = jpeg.Encode(out, img)

   if err != nil {

            fmt.Println(err)

            os.Exit(1)

   }

}


婷婷同学_
浏览 208回答 2
2回答

小唯快跑啊

你没有传递Options,to jpeg.Encode,你也可以将它设置为 nil。func serveFrames(imgByte []byte) {&nbsp; &nbsp; img, _, err := image.Decode(bytes.NewReader(imgByte))&nbsp; &nbsp; if err != nil {&nbsp; &nbsp; &nbsp; &nbsp; log.Fatalln(err)&nbsp; &nbsp; }&nbsp; &nbsp; out, _ := os.Create("./img.jpeg")&nbsp; &nbsp; defer out.Close()&nbsp; &nbsp; var opts jpeg.Options&nbsp; &nbsp; opts.Quality = 1&nbsp; &nbsp; err = jpeg.Encode(out, img, &opts)&nbsp; &nbsp; //jpeg.Encode(out, img, nil)&nbsp; &nbsp; if err != nil {&nbsp; &nbsp; &nbsp; &nbsp; log.Println(err)&nbsp; &nbsp; }}如果打开,不要忘记关闭任何文件。log.Fatalln(...)如果您想打印错误消息并在出现任何错误时退出,您可以使用, 。

慕莱坞森

猜猜这就是你真正想要的:err&nbsp;=&nbsp;ioutil.WriteFile(path,&nbsp;bt,&nbsp;0644)
随时随地看视频慕课网APP

相关分类

Go
我要回答