golang接收图片并转base64存入文档保存

本文档介绍了如何使用Golang编程语言将接收到的图片转换为Base64编码,并将其存储到文档中,参考了一篇相关技术文章。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

//读取文件 fileHeader 类型,open后成为 File 类型
//icon 为File类型
			if icon, err := fileHeader.Open(); err != nil {
					return
				} else {
					fmt.Println("读取正确")
					// defer icon.Close()
					//获得[]bytes
					image_content, __ := ioutil.ReadAll(icon)
					icon.Close()
					//新建缓冲
					buf := bytes.NewBuffer(image_content)

					var base64Encoding string
					// 判断文件类型,生成一个前缀,拼接base64后可以直接粘贴到浏览器打开,不需要可以不用下面代码
					//取图片类型
					mimeType := http.DetectContentType(image_content)
						switch mimeType {
						case "image/jpeg":
							base64Encoding = "data:image/jpeg;base64," + base64Encoding 
						case "image/png":
							base64Encoding = "data:image/png;base64," + base64Encoding 
						}
					base64Encoding += base64.StdEncoding.EncodeToString(buf.Bytes())//生成base64,使用图片base64解码,就可以查看到原图,开始我不懂,直接用base64解码,结果尴尬了
					fileHandle, err1 := os.OpenFile("image.txt", os.O_RDWR|os.O_CREATE|os.O_APPEND, 0666);if err1 != nil {
						log.Println("open file err1or :", err1)
						return
					}

					// NewWriter 默认缓冲区大小是 4096
					// 需要使用自定义缓冲区的writer 使用 NewWriterSize()方法
					buf1 := bufio.NewWriterSize(fileHandle, len(base64Encoding))

					buf1.WriteString(base64Encoding)

					buf1.Flush()
					fileHandle.Close()
				}

参考:https://freshman.tech/snippets/go/image-to-base64/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值