【发布时间】:2016-01-13 23:18:38
【问题描述】:
我尝试使用以下代码将 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[]。但我怎样才能转换它?或者是否有更简单的版本来执行此操作。
【问题讨论】:
-
你需要解码的图像吗?将数据直接写入文件要快得多。如果你只想要边界,你可以使用 DecodeConfig。
标签: file go base64 png decoder