首先需要下载七牛云的sdk:https://github.com/gpake/qiniu-wxapp-sdk
下载完之后引入到小程序里面:
const qiniuUploader = require("../../utils/qiniuUploader");
上传到七牛云需要七牛云的token,后端会给你一个接口用来获取七牛云的token,进行上传操作;
var video = "视频的链接";
const _this = this;
wx.request({
url: '获取七牛云token的接口',
method: "GET",
data: {
id: _this.data.id // 根据后台需要传值
},
success(res) {
_this.setData({
qiNiuToken: res.data.data // 这个就是七牛云的token;
})
qiniuUploader.upload(video, res => { // 使用七牛云上传视频,video是视频的路径
wx.request({
url: '把这个路径传给后端的接口',
method: "POST",
data: {
shipin_url: res.fileURL, // 根据后台需要传值
id: _this.data.id
},
success(res) {
// 成功回调
}
})
},
(error) => {
}, {
uploadURL: 'https://up-z2.qiniup.com', // 上传的区域的域名,对应region;
domain: '需要拼接七牛云视频的域名', // 上传返回的路劲是没有域名的,如果不写,上传完需要自己拼接;
uptoken: _this.data.qiNiuToken, // 七牛云的token
// bucket所在区域,这里是华北区。ECN, SCN, NCN, NA, ASG,分别对应七牛云的:华东,华南,华北,北美,新加坡 5 个区域
region: 'SCN',
// 从指定 url 通过 HTTP GET 获取 uptoken,返回的格式必须是 json 且包含 uptoken 字段,例如: {"uptoken": "0MLvWPnyy..."}
// uptokenURL: '获取七牛云token的接口',
})
}
})