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

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

Linda Hamilton
发布: 2024-12-04 11:55:11
原创
972 人浏览过

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中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板