文章目录

  • 1. 获取配置信息
  • 2. config
  • 3. upload
  • 完整代码

这一章节中我们介绍如何把图片上传到七牛云,并且返回对应图片的 url 。因为后续我们的创建的商品,更换头像等等都是把我们的图片上传七牛云存储,再返回对应的url的。

1. 获取配置信息

  • 打开七牛云官网,并进入控制台。
  • 找到资源管理的存储空间

  • 创建空间

  • 新建存储空间

这里选择公用!!不是私有,选择错了!

  • 然后我们进入到这个页面,你可以选择绑定域名,也可以选择不绑定。如果不绑定七牛会送你一个体验的域名,好像是7天时效。

  • 绑定域名就可以了


将你的域名绑定上就可以了。

如果没有域名的话,这里就有一个七牛送的域名

  • 获取密钥
  • 这两个都要

这样就行了

2. config

  • config.ini 文件
AccessKey=是上面AK
SercetKey=是上面的SK
Bucket=是刚刚新创的名称!
QiniuServer=是绑定的域名

  • conf.go 文件

加载配置

func LoadQiniu(file *ini.File) {AccessKey = file.Section("qiniu").Key("AccessKey").String()SerectKey = file.Section("qiniu").Key("SerectKey").String()Bucket = file.Section("qiniu").Key("Bucket").String()QiniuServer = file.Section("qiniu").Key("QiniuServer").String()
}

3. upload

在pkg包下的utils下创建upload.go文件

  • 读取配置文件
 var AccessKey = conf.AccessKeyvar SerectKey = conf.SerectKeyvar Bucket = conf.Bucketvar ImgUrl = conf.QiniuServerputPlicy := storage.PutPolicy{Scope:Bucket,}
  • 上传七牛云并返回url和状态
 mac := qbox.NewMac(AccessKey,SerectKey)upToken := putPlicy.UploadToken(mac)cfg := storage.Config{Zone : &storage.ZoneHuanan,UseCdnDomains : false,UseHTTPS : false,}putExtra := storage.PutExtra{}formUploader := storage.NewFormUploader(&cfg)ret := storage.PutRet{}err := formUploader.PutWithoutKey(context.Background(),&ret,upToken,file,fileSize,&putExtra)if err != nil {code := e.ErrorUploadFilereturn code , err.Error()}url := ImgUrl + ret.Keyreturn 200,url

完整代码

传入文件,以及文件大小,返回的是url和状态

package utilimport ("context""github.com/qiniu/go-sdk/v7/auth/qbox""github.com/qiniu/go-sdk/v7/storage""mall/conf""mall/pkg/e""mime/multipart"
)// 封装上传图片到七牛云然后返回状态和图片的url
func UploadToQiNiu(file multipart.File ,fileSize int64) (int,string) {var AccessKey = conf.AccessKeyvar SerectKey = conf.SerectKeyvar Bucket = conf.Bucketvar ImgUrl = conf.QiniuServerputPlicy := storage.PutPolicy{Scope:Bucket,}mac := qbox.NewMac(AccessKey,SerectKey)upToken := putPlicy.UploadToken(mac)cfg := storage.Config{Zone : &storage.ZoneHuanan,UseCdnDomains : false,UseHTTPS : false,}putExtra := storage.PutExtra{}formUploader := storage.NewFormUploader(&cfg)ret := storage.PutRet{}err := formUploader.PutWithoutKey(context.Background(),&ret,upToken,file,fileSize,&putExtra)if err != nil {code := e.ErrorUploadFilereturn code , err.Error()}url := ImgUrl + ret.Keyreturn 200,url
}

【Go实战 | 电商平台】(7) 图片上传到七牛云相关推荐

  1. 将base64编码图片上传到七牛云

    将base64编码图片上传到七牛云 接口说明 FAQ >对象存储 >上传下载> 如何上传base64编码图片到七牛云 在七牛云FAQ上有一篇文章,讲解的接口的使用 https://d ...

  2. Spring Boot使用Simditor富文本编辑器,并将图片上传到七牛云。

    开始之前,需要强调的是Simditor富文本编辑器是基于Jquery的.所以必须引入Jquery.Simditor下载地址 下载解压后会发现是整个simditor项目,很多东西项目根本不需要,只需要将 ...

  3. php七牛云批量上传,七牛云——批量将本地图片上传到七牛云

    前言 在本地大概有10w左右的头像图片,打算批量上传到七牛云,寻找后发现了一个神奇的官方工具,十分的好用 工具 资源批量上传和多文件上传 我这里上传本地用的是QsunSync QsunSync Git ...

  4. PHP图片加水印,然后将加水印的图片上传到七牛云

    今天项目有这么一个需求,简单实现了一下,当然用起来是没有任何问题的,现在把实现代码分享给小伙伴们 public function uploadImgToQiniu($picture_id){$wate ...

  5. 将本地图片上传至七牛云

    准备工作 一个域名(用来融合CDN加速) 七牛云创建一个存储空间 七牛云绑定域名 在注册完七牛云并创建了一个存储空间后,七牛云会给你自动分配一个融合 CDN 测试域名,但是只有30天的有效期.所以要在 ...

  6. 图片上传到七牛云存储空间

    html页面如下 <label for="author">图片</label> <div id="uparea"><i ...

  7. Java实现将文件(图片)上传到七牛云对象存储,并实现下载和删除功能

    引言:在搭建项目时如果把上传的文件存储在该项目运行的主机上,会导致访问该项目时加载非常缓慢,因此需要对象存储.并且对象存储具有网站数据动静分离,大幅提升网页性能,储存节点多,支持跨地域实时同步,成本低 ...

  8. 前端怎样使用base64图片上传到七牛云

    先通过后端拿到 domain 和 token 值 其实就是后端通过 七牛仓库的一些配置 返为 domain 和 token let url = globalAjaxUrl + '/admin/bann ...

  9. 图片上传到七牛云/阿里云的OSS

    1.准备 七牛云/阿里云OSS https://github.com/pfinal/storage 2.composer安装包 安装composer require pfinal/storage 本地 ...

最新文章

  1. sed awk 笔记(二)
  2. atitit.android模拟器使用报告
  3. C# 正则表达式小结
  4. 1.19 final修饰符详解
  5. Python 开发桌面小工具,让代码替我们干重复的工作!
  6. php 中curd表达啥,thinkphp的CURD和查询方式介绍
  7. linux服务器搭建_基于LINUX系统的邮件服务器搭建和详细部署(POSTFIX)
  8. git使用stash存储相关操作
  9. vs2010 调用matlab,vs2010调用matlab引擎
  10. cad有没有网页版_AutoCAD
  11. gitter 卸载_最佳Gitter渠道:iOS开发人员
  12. 使用蒲公英组网实现企业微信访问局域网数据
  13. 基于MATLAB/GUI的自组网仿真平台,对比leach,ADOV协议
  14. java feature task同步_FetrueTask做java方法超时处理
  15. 无法启动此程序因为计算机中丢失vcruntime140_1.dll
  16. .Scrum团队成立
  17. Centos 进入recovery模式,单用户模式
  18. 高防服务器单机防御是什么意思?服务器防御100G是什么意思?
  19. 用VBA在word创建宏,功能是金额数字转换大写
  20. 品牌双十一促销广告海报!

热门文章

  1. google开源gumbo-parser系列
  2. 【图像配准】基于互信息的图像配准算法:MI、EMI、ECC算法
  3. Java 继承底层实现原理
  4. 一处一意 一间易于繁荣的生活空间
  5. RISC-V 常见的开发工具链有哪些?
  6. linux硬盘测试工具
  7. JavaScript + DOM
  8. 9.28 迷糊ing java疯狂讲义阅读
  9. ABAP-动态程序生成
  10. RELRO (ReLocation Read-Only)保护纯新手入门(一)