相关疑难解决方法(0)

转到 base64 图像解码

我目前正在从类似这样的画布中获取 base64 图像数据 url(不是我获取的 dataurl 只是为了显示字符串的样子)

data:image/png;base64,iVkhdfjdAjdfirtn=
Run Code Online (Sandbox Code Playgroud)

我需要解码该图像以检查图像的宽度和高度

    dataurl := strings.Replace(req.PostFormValue("dataurl"), "data:image/png;base64,", "", 1)

    reader := base64.NewDecoder(base64.StdEncoding, strings.NewReader(dataurl))
    c, _, err := image.DecodeConfig(reader)
    if err != nil {
        log.Fatal(err)
    }
    log.Println(c.Width)
Run Code Online (Sandbox Code Playgroud)

但是我在尝试解码配置时遇到错误

Unknown image format
Run Code Online (Sandbox Code Playgroud)

所以是的,我制作 dataurl 的方式一定是错误的,但不知道该怎么做。我也试过传递完整的 dataurl (with data:image...) 仍然没有成功

base64 image go

2
推荐指数
1
解决办法
4376
查看次数

如何将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))
Run Code Online (Sandbox Code Playgroud)

界限还可以.最后一行的错误消息是

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

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

base64 png file decoder go

1
推荐指数
1
解决办法
2382
查看次数

标签 统计

base64 ×2

go ×2

decoder ×1

file ×1

image ×1

png ×1