golang中图片转base64_base64图片转换
base64.StdEncoding.Encode(dst []byte,src []byte)这个的意思是把src压成base64 存储在dst你这buffstore和dist都是空byte组,然encode到了buffstore,但是写文件你却用了dist,dist根本就没赋值啊。。ddd, _ := base64.StdEncoding.DecodeString("test.jpg.txt"
base64.StdEncoding.Encode(dst []byte,src []byte)
这个的意思是把src压成base64 存储在dst
你这buffstore和dist都是空byte组,然encode到了buffstore,但是写文件你却用了dist,dist根本就没赋值啊。。
ddd, _ := base64.StdEncoding.DecodeString("test.jpg.txt")
你这句话是把test.jpg.txt这个字符串解base64 ,并不是test.jpg.txt文件的内容解base64,所以写进去的当然不是图片了。
package main
import (
"encoding/base64"
"io/ioutil"
"os"
)
func main() {
//读原图片
ff, _ := os.Open("a.png")
defer ff.Close()
sourcebuffer := make([]byte, 500000)
n, _ := ff.Read(sourcebuffer)
//base64压缩
sourcestring := base64.StdEncoding.EncodeToString(sourcebuffer[:n])
//写入临时文件
ioutil.WriteFile("a.png.txt", []byte(sourcestring), 0667)
//读取临时文件
cc, _ := ioutil.ReadFile("a.png.txt")
//解压
dist, _ := base64.StdEncoding.DecodeString(string(cc))
//写入新文件
f, _ := os.OpenFile("b.png", os.O_RDWR|os.O_CREATE, os.ModePerm)
defer f.Close()
f.Write(dist)
}
这样子就好了。
方法用错了不少啊。^_^
魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐




所有评论(0)