[Go 语言社区] Golang架构底层函数图片保存-原创
时间:2022-05-04
本文章向大家介绍[Go 语言社区] Golang架构底层函数图片保存-原创,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
PS: StrBase64Data 传入的需要去除:
“data:image/png;base64,”字段
// 保存磁盘的数据的图片处理函数
func SaveFiles(StrPath string, StrBase64Data string, StrPicType string, StrPicName string) bool {
Log_Eio.Log("Entry SaveFiles!")
Log_Eio.Log("SaveFiles path:" + StrPath)
// 转换下
StrBase64Data = strings.Replace(StrBase64Data, """, "", -1)
// 解析
reader := base64.NewDecoder(base64.StdEncoding, strings.NewReader(StrBase64Data))
// 转换成png格式的图像,需要导入:_“image/png”
m, _, _ := image.Decode(reader)
// 输出到磁盘里:包括路径
// 文件夹操作
//dir, _ := os.Getwd() // 获取当前的程序路径
StrPath = "/var/www/html/res/" + StrPath
err := os.MkdirAll(StrPath, os.ModePerm) //生成多级目录
if err != nil {
Log_Eio.Log(err.Error())
return false
}
Log_Eio.Log("创建文件夹" + StrPath + "/a/b/c成功")
// 保存数据
StrPicType = StrPath + "/" + StrPicName + "." + StrPicType
wt, err := os.Create(StrPicType)
if err != nil {
Log_Eio.Log("Save Image Error!")
return false
}
defer wt.Close()
// 转换为jpeg格式的图像,这里质量为30(质量取值是1-100)
jpeg.Encode(wt, m, &jpeg.Options{30})
return true
}
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- windows下搭建spark测试环境
- 微信小程序实时语音识别实践
- 轻量安全的部署方案
- 阿里2020.7.31笔试
- 聊聊dubbo-go的PrometheusReporter
- 聊聊dubbo-go的apolloConfiguration
- 看了这篇,关于浏览器缓存你还有哪些疑问?
- 深入分析Volatile的实现原理
- Java Collection Framework : List
- String类的equals方法
- 必须同时重写hashcode和equals方法的原因
- Springboot中使用Redis的发布/订阅模式
- Java 几种排序算法 与时间空间复杂度
- JAVA程序员必须要学会的网络知识
- 计算机网络学习--数据链路层