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

代码示例

  1. let task = tt.uploadFile({
  2. url: 'someuploadurl',
  3. filePath: tempFilePath,
  4. name: 'file',
  5. success (res) {
  6. if (res.statusCode === 200) {
  7. console.log(`uploadFile调用成功 ${res.data}`);
  8. }
  9. },
  10. fail (res) {
  11. console.log(`uploadFile调用失败`);
  12. }
  13. });
  14. task.onProgressUpdate((res) => {
  15. this.setData({
  16. progress: res.progress
  17. });
  18. });
  19. if (someReason) {
  20. task.abort();
  21. }

已知问题

原文: https://developer.toutiao.com/docs/api/uploadFile.html