很多项目使用到了七牛云(第三方云服务平台),用来存取多媒体资源,而且七牛云内置API有很多方便快捷的多媒体文件操作方法。比如,要生成一张图片用来做视频的默认封面。如果手动实现这个功能比较麻烦,而用七牛云就很方便,具体网上有很多教程不做赘述。
而要上传到七牛云首先你得有一个自己的存储空间。到七牛云注册账户。
完成实名认证进入管理控制台并新建存储空间。
不同地区的价格和速度不同。
其次,得有一个接口用来生成upload_token。这是上传凭证,每次上传图片和视频时必须携带upload_token,七牛云才知道是要把它们存在哪里。
至于upload_token怎么生成,官方有详细说明。
拿到upload_token之后就是上传了。
//上传至七牛云uploadFile(user_id, path, success, fail) {console.log('开始上传')let time = new Date()let name = user_id + String(time.getTime());//获取tokenreturn new Promise((resolve, reject) => {uni.request({url: `http://192.168.1.5:8383/getToken/${name}`,header: _JSON_HEADER,method: 'GET',data: {},success: function(response) {console.log('token获取成功')qiniuUploader.upload(path, res => {console.log('上传成功')resolve(res)}, error => {reject(err)}, {region: 'SCN',domain: 'psnobvvdn.bkt.clouddn.com',key: name,uptoken: response.data,});},fail: function(error) {reject(error)}})})}
在成功的回调里调用qiniuUploader.upload()。
代码中字段含义:
url
获取token的接口地址。
name
唯一的文件名,这里可能要自己定义一个规则,比如上述代码里,就是用户id加当前时间,可确保唯一性。
domain
创建七牛云项目后,详情描述里能看到domain的值。
region
创建项目时,选择的位置。