首页 >后端开发 >Golang >如何在 Go 中正确解码 Base64 编码图像?

如何在 Go 中正确解码 Base64 编码图像?

Linda Hamilton
Linda Hamilton原创
2024-12-04 11:55:11994浏览

How to Properly Decode Base64 Encoded Images in Go?

在 Go 中解码 Base64 编码图像

使用 canvas 时,可以获得 Base64 图像数据 URL。但是,当尝试使用 image.DecodeConfig() 解码此图像时,您可能会遇到错误“未知图像格式”。

出现此问题的原因是数据 URL 包含除 Base64 编码图像数据之外的其他信息。为了正确解码图像,您需要删除前缀:

// Remove the data URL prefix
input := strings.Replace(req.PostFormValue("dataurl"), "data:image/png;base64,", "", 1)

此外,您需要在调用 image.DecodeConfig() 之前注册 PNG 图像格式处理程序。这可以通过以下方式实现:

import _ "image/png"

或者,如果您知道确切的图像格式,则可以直接使用 png.DecodeConfig()。

示例:

import _ "image/png"

reader := base64.NewDecoder(base64.StdEncoding, strings.NewReader(input))
imageConfig, _, err := image.DecodeConfig(reader)
if err != nil {
    log.Fatal(err)
}

按照以下步骤,您可以成功解码base64编码的图像并获取其宽度和宽度身高。

以上是如何在 Go 中正确解码 Base64 编码图像?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn