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