【Go实战 | 电商平台】(7) 图片上传到七牛云
文章目录
- 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) 图片上传到七牛云相关推荐
- 将base64编码图片上传到七牛云
将base64编码图片上传到七牛云 接口说明 FAQ >对象存储 >上传下载> 如何上传base64编码图片到七牛云 在七牛云FAQ上有一篇文章,讲解的接口的使用 https://d ...
- Spring Boot使用Simditor富文本编辑器,并将图片上传到七牛云。
开始之前,需要强调的是Simditor富文本编辑器是基于Jquery的.所以必须引入Jquery.Simditor下载地址 下载解压后会发现是整个simditor项目,很多东西项目根本不需要,只需要将 ...
- php七牛云批量上传,七牛云——批量将本地图片上传到七牛云
前言 在本地大概有10w左右的头像图片,打算批量上传到七牛云,寻找后发现了一个神奇的官方工具,十分的好用 工具 资源批量上传和多文件上传 我这里上传本地用的是QsunSync QsunSync Git ...
- PHP图片加水印,然后将加水印的图片上传到七牛云
今天项目有这么一个需求,简单实现了一下,当然用起来是没有任何问题的,现在把实现代码分享给小伙伴们 public function uploadImgToQiniu($picture_id){$wate ...
- 将本地图片上传至七牛云
准备工作 一个域名(用来融合CDN加速) 七牛云创建一个存储空间 七牛云绑定域名 在注册完七牛云并创建了一个存储空间后,七牛云会给你自动分配一个融合 CDN 测试域名,但是只有30天的有效期.所以要在 ...
- 图片上传到七牛云存储空间
html页面如下 <label for="author">图片</label> <div id="uparea"><i ...
- Java实现将文件(图片)上传到七牛云对象存储,并实现下载和删除功能
引言:在搭建项目时如果把上传的文件存储在该项目运行的主机上,会导致访问该项目时加载非常缓慢,因此需要对象存储.并且对象存储具有网站数据动静分离,大幅提升网页性能,储存节点多,支持跨地域实时同步,成本低 ...
- 前端怎样使用base64图片上传到七牛云
先通过后端拿到 domain 和 token 值 其实就是后端通过 七牛仓库的一些配置 返为 domain 和 token let url = globalAjaxUrl + '/admin/bann ...
- 图片上传到七牛云/阿里云的OSS
1.准备 七牛云/阿里云OSS https://github.com/pfinal/storage 2.composer安装包 安装composer require pfinal/storage 本地 ...
最新文章
- sed awk 笔记(二)
- atitit.android模拟器使用报告
- C# 正则表达式小结
- 1.19 final修饰符详解
- Python 开发桌面小工具,让代码替我们干重复的工作!
- php 中curd表达啥,thinkphp的CURD和查询方式介绍
- linux服务器搭建_基于LINUX系统的邮件服务器搭建和详细部署(POSTFIX)
- git使用stash存储相关操作
- vs2010 调用matlab,vs2010调用matlab引擎
- cad有没有网页版_AutoCAD
- gitter 卸载_最佳Gitter渠道:iOS开发人员
- 使用蒲公英组网实现企业微信访问局域网数据
- 基于MATLAB/GUI的自组网仿真平台,对比leach,ADOV协议
- java feature task同步_FetrueTask做java方法超时处理
- 无法启动此程序因为计算机中丢失vcruntime140_1.dll
- .Scrum团队成立
- Centos 进入recovery模式,单用户模式
- 高防服务器单机防御是什么意思?服务器防御100G是什么意思?
- 用VBA在word创建宏,功能是金额数字转换大写
- 品牌双十一促销广告海报!