一:什么是七牛云?
七牛云是国内知名的云计算及数据服务提供商
主要提供了现在网络上占据百分之就是打非结构化数据,也就是图片,音频,视频的云存储服务
二:七牛云的使用:
1.注册账号
2.绑定邮箱
3.实名认证(必须进行)
4.创建一个存储空间
5.查看自己的密钥
三:七牛云实现上传图片到存储空间
1.后端代码(这里采用Django)
from qiniu import Auth
# 需要填写你的 Access Key 和 Secret Key
access_key = 'hmv--oUg0_Ubsrq**********VRfYkpmmSa1b_bv'
secret_key = '9tW8bwz3VQonIUb********pp8rayHZTv_oZGIrh'
# 构建鉴权对象
def qn_token():
q = Auth(access_key, secret_key)
# 要上传的空间,你的存储空间
bucket_name = 'laufing'
# 生成上传 Token
token = q.upload_token(bucket_name)
return token
2.前端代码(Vue)
//上传的配置, 注意上传的地址要是自己的服务区的地址
<el-upload
action="http://up-z2.qiniu.com/"
:on-success="uploadSuccess"
:data="upload_data"
:before-upload="beforeUpload"
:on-error="uploadError"
:auto-upload="true"
>
//上传之前, 获取七牛token
beforeUpload(file){
console.log("上传之前:", file)
// 获取上传七牛云的token
this.get_token()
},
// 获取七牛云上传的token
get_token() {
this.axios
.get(cons.apis + "/goods/get_token/", {
headers: {
Authorization: "JWT " + token,
},
responseType: "json",
})
.then((dat) => {
console.log("获取七牛云的token:", dat);
this.upload_data.token = dat.data.token;
})
.catch((err) => {
console.log(err.response);
});
},
// 上传成功触发的方法
uploadSuccess(res, files) {
console.log("上传图片成功的响应:", res)
// 上传的文件对象
console.log("上传的文件:", files)
// 拼接图片地址
this.PicturesForm.image = "http://ra6rclc1p.hn-bkt.clouddn.com/" + res.data.key
},
// 上传图片失败的函数
uploadError(err) {
console.log("上传图片失败:", err);
},