上传文件。
字段名 |
类型 |
必选 |
默认值 |
说明 |
options.filePath |
string |
是 |
- |
文件本地路径 |
options.fileType |
string |
是 |
- |
可选类型为image, video, audio, other |
options.fileName |
string |
否 |
- |
云存储文件名可带路径, 如a/xxx.jpg |
options.seller |
boolean |
否 |
false |
是否上传到商家图片空间。 SDK版本>=1.2.4。 若该参数为true,fileType只能填image; 前置权限包:商家应用-商家云存储。 |
options.dirId |
string |
否 |
0 |
商家图片空间目录ID,不传则到根目录 |
返回Promise对象, resolve结果如下。
字段名 |
说明 |
result.fileId |
文件Id, 通过file.getTempFileURL获取临时访问url |
result.fileName |
文件全路径名称 |
result.url |
此链接临时有效,失效后需要通过文件Id调用file.getTempFileURL重新获取文件访问链接 |
const {cloud} = getApp(); Page({ data:{}, onLoad(query) { // 页面加载 }, async testUploadFile(){ my.chooseImage({ success: images => { try{ cloud.file.uploadFile({ filePath: images.apFilePaths[0], fileType: 'image', fileName: '/user/avatar.png', }).then((data) => { console.log(data); }) }catch(e) { my.alert({ content: 'error ' + e.message }); } } }) } });
const {cloud} = getApp(); Page({ data:{}, onLoad(query) { // 页面加载 }, async testUploadVideo(){ my.chooseVideo({ sourceType: ['album','camera'], maxDuration: 60, camera: 'back', success: video => { try{ cloud.file.uploadFile({ filePath: video.tempFilePath, fileType: 'video', fileName: 'fe.mp4' }).then((response) => { console.log(response); }) }catch(e) { my.alert({ content: 'error ' + e.message }); } } }) } });
其他文件类型包括excel、zip包等格式的文件。手机淘宝端暂不支持上传其他文件,PC千牛端可以先通过调用接口my.qn.chooseFile获取本地文件的临时路径,然后上传到云存储。
const {cloud} = getApp(); Page({ data:{}, onLoad(query) { // 页面加载 }, async uploadFile(){ my.qn.chooseFile({ count: 1, // 返回的文件数,默认 1 type: 0x02, // 图片=0x01,文档=0x02,多媒体=0x04,自由组合,默认 0x01 success: (res) => { console.log(res); try{ cloud.file.uploadFile({ filePath: res.apFilePaths[0], fileType: 'other', fileName: 'test.xlsx', }).then((data) => { console.log(data); }) }catch(e) { console.log("fail:"+e); } } }); } });