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

Image 如何将[]字节对象转换为图像并将其作为jpeg图像存储在磁盘上,image,go,jpeg,Image,Go,Jpeg,我正在尝试将[]字节对象转换为图像,并将其保存为Golang中的jpeg。我尝试使用图像的解码功能,但它总是返回 func saveFrames(imgByte []byte) { img, _, _ := image.Decode(bytes.NewReader(imgByte)) out, err := os.Create("./img.jpeg") if err != nil { fmt.Println(err) o

我正在尝试将[]字节对象转换为图像,并将其保存为Golang中的jpeg。我尝试使用图像的
解码
功能,但它总是返回

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)
   }
}

您没有将
选项
传递到
jpeg.Encode
,也可以将其设置为nil

func serveFrames(imgByte []byte) {

    img, _, err := image.Decode(bytes.NewReader(imgByte))
    if err != nil {
        log.Fatalln(err)
    }

    out, _ := os.Create("./img.jpeg")
    defer out.Close()

    var opts jpeg.Options
    opts.Quality = 1

    err = jpeg.Encode(out, img, &opts)
    //jpeg.Encode(out, img, nil)
    if err != nil {
        log.Println(err)
    }

}
不要忘记关闭任何打开的文件


如果要打印错误消息并在出现错误时退出,可以使用
log.Fatalln(…)

检查错误的可能重复项。Always.2018/10/23 14:03:42无效的JPEG格式:短哈夫曼数据获取此错误:@shahidammer,
imgByte
中的数据应该是某些图像的数据