从客户端收到的照片是在base64中转换的,现在我必须将base64解码为图像并将其保存在本地文件夹中,该怎么办?
该代码不起作用。
你的代码将无法编译;base64.NewDecoder
返回一个io.Reader
; 你不能将[]byte()
其转换为字节片(ioutil.ReadAll
可以为你完成)。但是,没有必要这样做;你可以将复制Reader
到文件:
dec := base64.NewDecoder(base64.StdEncoding, strings.NewReader(photo[i+1:]))
f, err := os.Create("/var/www/upload/" + req.Title + ".png")
if err != nil {
panic(err)
}
defer f.Close()
_, err = io.Copy(f, dec)
if err != nil {
panic(err)
}
谢谢,工作正常。兄弟,您知道如何从base64中找到图像扩展名吗?如果找到扩展名,我将使用扩展名保存图像,那就太好了,在上面的代码中,我只是使用静态的'png'扩展名来保存图像。
@MasudMorshed您可以根据类型的标题找出数据类型,请参见此处和此处
@MasudMorshed顺便说一句。您的示例中的图片是jpg,而不是png。我在第二个链接中更新了链接的答案。