本文为您介绍如何通过 Web SDK 上传素材文件。
在初始化 TTUploader
实例时,您可以通过 initConfig
进行初始化配置。详见具体参数配置。
const uploader = new TTUploader(initConfig);
代码示例如下:
const uploader = new TTUploader({ // 必填,在我的应用中申请的 AppID appId: '', // 必填,建议设置能识别用户的唯一标识 ID,用于上传出错时排查问题,不要传入非 ASCII 编码 userId: '', // 必填,上传相关配置 videoConfig: { // 必填,上传到的点播空间名 spaceName: '', // 非必填,视频/文件上传后的处理 action 对象,类型是一个数组,有多个处理请求时可以配置多个动作对象。对象中的 input 会被透传到对应的处理服务中 } });
调用 addFile
方法,设置 stsToken
签名,同时素材需要在 processAction
数组中添加 AddOptionInfo
,并指明素材相关信息,具体参数说明请见接口说明。代码示例如下:
const fileKey = ttUploader.addFile({ file: fileList[0], stsToken: { // 从服务端拿到的 ststoken,token 为一个包含多个属性的对象 CurrentTime: 'xxx', ExpiredTime: 'xxx', SessionToken: 'xxx', AccessKeyID: 'xxx', SecretAccessKey: 'xxx' }, type : 'image', // 类型设置为图片素材 processAction: [ { Name: 'AddOptionInfo', // 添加可选信息 input: { RecordType: 2, Category: 'image' // 当 RecordType 取值为 2 素材时,可选 video、audio 等值 } } ] });
调用 start
方法开始上传文件您需传入添加上传文件返回的 filekey
值。代码示例如下:
uploader.start(fileKey);
设置监听事件示例代码如下,具体说明请参见生命周期。
uploader.on('complete', (infor) => { console.log('complete'); console.log(infor.uploadResult); }); uploader.on('error', (infor) => { console.log(infor.extra); }); uploader.on('progress', (infor) => { console.log(infor.percent) });