如何将base64解码的png图像写入文件?

我尝试使用以下代码将 base64 png 图像写入文件:


imageReader := base64.NewDecoder(base64.StdEncoding, strings.NewReader(Images[i]))

pngImage, _, err := image.Decode(imageReader)

if err != nil {

  beego.Error(err)

}

bounds := pngImage.Bounds()

if imgFile, err = os.Create(fileName + ".png"); err != nil {

   return Data{}

}

defer imgFile.Close()

_, err = imgFile.Write([]byte(pngImage))

界限没问题。最后一行的错误消息是


无法将 pngImage(类型 image.Image)转换为类型 []byte


显然,因为 image.Image 不是 byte[]。但是我该如何转换呢?或者有没有更简单的版本来做到这一点。


慕村9548890
浏览 317回答 1
1回答

宝慕林4294392

用于png.Encode()将 an 编码image.Image为文件 ( io.Writer)。最后一行应替换为:err = png.Encode(imgFile, pngImage)png.Encode()将生成字节序列并将其发送到指定的io.Writer(os.File当然可以是一个),以 PNG 格式描述指定的图像。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Go