小程序端上传 SDK

最近更新时间:2019-06-25 11:52:58

小程序端上传视频的 SDK。

如果您需要 SDK 源码,可访问 SDK 源码
如果您需要 Demo 源码,可访问 Demo 源码

上传视频步骤

1. 引入 SDK

const VodUploader = require('../../lib/vod-wx-sdk-v2.js');

2. 定义获取上传签名的函数

getSignature: function(callback) {
    wx.request({
        url: 'https://xzb.qcloud.com/get_vod_sign',
        method: 'POST',
        data: {
            Action: 'GetVodSignatureV2'
        },
        dataType: 'json',
        success: function(res) {
            if (res.data && res.data.data.signature) {
                callback(res.data.data.signature);
            } else {
                return '获取签名失败';
            }
        }
    });
}

url是您派发签名服务的 URL,参见 客户端上传指引
signature计算规则可参考 客户端上传签名

3. 上传视频
上传视频是通过调用VodUploader.start来实现的,选择视频则通过微信小程序 API 中的wx.chooseVideo方法实现。示例如下:

 VodUploader.start({
    mediaFile: mediaFile, //必填,把chooseVideo回调的参数(file)传进来
    mediaName: mediaName, //选填,视频名称,强烈推荐填写(如果不填,则默认为“来自微信小程序”)
    getSignature: getSignature, //必填,获取签名的函数
    success: function(result) {
        console.log('success');
        console.log(result);
    },
    error: function(result) {
        console.log('error');
        console.log(result);
        wx.showModal({
            title: '上传失败',
            content: JSON.stringify(result),
            showCancel: false
        });
    },
    progress: function(result) {
        console.log('progress');
        console.log(result);
    },
    finish: function(result) {
        console.log('finish');
        console.log(result);
        wx.showModal({
            title: '上传成功',
            content: 'fileId:' + result.fileId + '\nvideoName:' + result.videoName,
            showCancel: false
        });
    }
});

其他

  1. 因为小程序没有获取真实文件名的 API,所以需要在上传视频之前,输入视频名称。如果不输入,SDK 会设置视频名称为“来自小程序”。
  2. 不支持断点续传和分片上传。
  3. 小程序域名信息中,request 和 uploadFile 合法域名,只需加上vod2.qcloud.com即可。