前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >[Go 语言社区] Golang架构底层函数图片保存-原创

[Go 语言社区] Golang架构底层函数图片保存-原创

作者头像
李海彬
发布2018-03-20 14:16:57
1.3K0
发布2018-03-20 14:16:57
举报
文章被收录于专栏:Golang语言社区Golang语言社区

PS: StrBase64Data 传入的需要去除:

代码语言:javascript
复制
“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
}
本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2016-03-18,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Golang语言社区 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
图片处理
图片处理(Image Processing,IP)是由腾讯云数据万象提供的丰富的图片处理服务,广泛应用于腾讯内部各产品。支持对腾讯云对象存储 COS 或第三方源的图片进行处理,提供基础处理能力(图片裁剪、转格式、缩放、打水印等)、图片瘦身能力(Guetzli 压缩、AVIF 转码压缩)、盲水印版权保护能力,同时支持先进的图像 AI 功能(图像增强、图像标签、图像评分、图像修复、商品抠图等),满足多种业务场景下的图片处理需求。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档