1. 原理图
2. 获取七牛云token
- 官方文档:https://developer.qiniu.com/kodo/sdk/1242/python
from qiniu import Auth
class QnApiView(APIView):
def get(self, request):
# 需要填写你的 Access Key 和 Secret Key
access_key = 'EKPODOXU_320j3iA2WpNVtG2hfHAPHxY6vhDnSMo'
secret_key = '1Tjto3C6_xIUKBlo3d4PkhJR556hpvtmNxoanXjt'
# 构建鉴权对象
q = Auth(access_key, secret_key)
# 要上传的空间
bucket_name = 'sylimage'
# 上传后保存的文件名
key = None
# 生成上传 Token,可以指定过期时间等
# 上传策略示例
# https://developer.qiniu.com/kodo/manual/1206/put-policy
policy = {
# 'callbackUrl':'https://requestb.in/1c7q2d31',
# 'callbackBody':'filename=$(fname)&filesize=$(fsize)'
# 'persistentOps':'imageView2/1/w/200/h/200'
}
# 3600为token过期时间,秒为单位。3600等于一小时
token = q.upload_token(bucket_name, key, 3600, policy)
return Response({
'code': 0, 'msg': 'token1', 'data': {
"uptoken": token}})
3. vue通过token上传视频到七牛云
course_show.vue
课程页面下点击添加视频携带课程id跳转到QnUpload.vue
<router-link :to="{name: 'qn_upload', query: {'cid': course.id}}">添加视频</router-link>
3.1 获取token
getQiniuToken: function (callback){
qn_token_get({
}).then(resp => {
// debugger
console.log(resp)
this.uptoken = resp.data