uploadFile 1.0.0+

将本地文件上传到网络。

提示

网络相关的 API 在使用前需要配置域名白名单。请参考网络请求使用说明

提示

HTTP 请求 method 为POST

输入

继承标准对象输入,扩展属性描述:

名称数据类型属性默认值描述
urlstringrequiredN/A目标地址
filePathstringrequiredN/A本地文件路径
namestringrequiredN/AHTTP 请求的文件名
headerobjectoptional{'content-type': 'multipart/form-data'}请求 Header
formDataobjectoptionalnull请求额外参数

输出

success返回对象参数的扩展属性:

名称数据类型描述
datastring返回数据
statusCodenumber返回 HTTP 状态码

本 API 的调用结果在通过回调传递的同时会返回一个uploadTask对象,可以通过该对象的abort方法中断请求任务;通过onProgressUpdate方法监听下载进度。

onProgressUpdate注册的监听方法会收到一个object类型参数,该参数的属性值有:

名称数据类型描述
progressnumber上传进度
totalBytesSentnumber已经上传的数据长度,单位byte
totalBytesExpectedToSendnumber预期需要上传的数据总长度,单位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();
}