uploadFile 1.0.0+
将本地文件上传到网络。
提示
网络相关的 API 在使用前需要配置域名白名单。请参考网络请求使用说明
提示
HTTP 请求 method 为POST
输入
继承标准对象输入,扩展属性描述:
名称 | 数据类型 | 属性 | 默认值 | 描述 |
---|---|---|---|---|
url | string | required | N/A | 目标地址 |
filePath | string | required | N/A | 本地文件路径 |
name | string | required | N/A | HTTP 请求的文件名 |
header | object | optional | {'content-type': 'multipart/form-data'} | 请求Header |
formData | object | optional | null | 请求额外参数 |
输出
success
返回对象参数的扩展属性:
名称 | 数据类型 | 描述 |
---|---|---|
data | string | 返回数据 |
statusCode | number | 返回 HTTP 状态码 |
本 API 的调用结果在通过回调传递的同时会返回一个uploadTask
对象,可以通过该对象的abort
方法中断请求任务;通过onProgressUpdate
方法监听下载进度。
onProgressUpdate
注册的监听方法会收到一个object
类型参数,该参数的属性值有:
名称 | 数据类型 | 描述 |
---|---|---|
progress | number | 上传进度 |
totalBytesSent | number | 已经上传的数据长度,单位byte |
totalBytesExpectedToSend | number | 预期需要上传的数据总长度,单位byte |
代码示例
let task = tt.uploadFile({
url: 'someuploadurl',
filePath: tempFilePath,
name: 'file',
success (res) {
if (res.statusCode === 200) {
console.log(`uploadFile调用成功 ${res.data}`);
}
},
fail (res) {
console.log(`uploadFile调用失败`);
}
});
task.onProgressUpdate((res) => {
this.setData({
progress: res.progress
});
});
if (someReason) {
task.abort();
}