title: UploadTask

sidebar_label: UploadTask

一个可以监听上传进度变化事件,以及取消上传任务的对象

支持情况:UploadTask - 图1 UploadTask - 图2 UploadTask - 图3 UploadTask - 图4 UploadTask - 图5

参考文档

方法

abort

中断上传任务

支持情况:UploadTask - 图6 UploadTask - 图7 UploadTask - 图8

参考文档

  1. () => void

onProgressUpdate

监听上传进度变化事件

支持情况:UploadTask - 图9 UploadTask - 图10 UploadTask - 图11

参考文档

  1. (callback: OnProgressUpdateCallback) => void
参数 类型 说明
callback OnProgressUpdateCallback 上传进度变化事件的回调函数

offProgressUpdate

取消监听上传进度变化事件

支持情况:UploadTask - 图12 UploadTask - 图13 UploadTask - 图14

参考文档

  1. (callback: OffProgressUpdateCallback) => void
参数 类型 说明
callback OffProgressUpdateCallback 上传进度变化事件的回调函数

onHeadersReceived

监听 HTTP Response Header 事件。会比请求完成事件更早

支持情况:UploadTask - 图15 UploadTask - 图16 UploadTask - 图17

参考文档

  1. (callback: OnHeadersReceivedCallback) => void
参数 类型 说明
callback OnHeadersReceivedCallback HTTP Response Header 事件的回调函数

offHeadersReceived

取消监听 HTTP Response Header 事件

支持情况:UploadTask - 图18 UploadTask - 图19 UploadTask - 图20

参考文档

  1. (callback: OffHeadersReceivedCallback) => void
参数 类型 说明
callback OffHeadersReceivedCallback HTTP Response Header 事件的回调函数

参数

OffHeadersReceivedCallback

HTTP Response Header 事件的回调函数

  1. (res: TaroGeneral.CallbackResult) => void
参数 类型
res TaroGeneral.CallbackResult

OffProgressUpdateCallback

上传进度变化事件的回调函数

  1. (res: TaroGeneral.CallbackResult) => void
参数 类型
res TaroGeneral.CallbackResult

OnHeadersReceivedCallback

HTTP Response Header 事件的回调函数

  1. (result: OnHeadersReceivedCallbackResult) => void
参数 类型
result OnHeadersReceivedCallbackResult

OnProgressUpdateCallback

上传进度变化事件的回调函数

  1. (result: OnProgressUpdateCallbackResult) => void
参数 类型
result OnProgressUpdateCallbackResult

OnHeadersReceivedCallbackResult

参数 类型 说明
header TaroGeneral.IAnyObject 开发者服务器返回的 HTTP Response Header

OnProgressUpdateCallbackResult

参数 类型 说明
progress number 上传进度百分比
totalBytesExpectedToSend number 预期需要上传的数据总长度,单位 Bytes
totalBytesSent number 已经上传的数据长度,单位 Bytes

UploadTaskPromise

示例代码

  1. const uploadTask = Taro.uploadFile({
  2. url: 'http://example.weixin.qq.com/upload', //仅为示例,非真实的接口地址
  3. filePath: tempFilePaths[0],
  4. name: 'file',
  5. formData:{
  6. 'user': 'test'
  7. },
  8. success (res){
  9. const data = res.data
  10. //do something
  11. }
  12. })
  13. uploadTask.onProgressUpdate((res) => {
  14. console.log('上传进度', res.progress)
  15. console.log('已经上传的数据长度', res.totalBytesSent)
  16. console.log('预期需要上传的数据总长度', res.totalBytesExpectedToSend)
  17. })
  18. uploadTask.abort() // 取消上传任务

API 支持度

API 微信小程序 百度小程序 支付宝小程序 H5 React Native
UploadTask ✔️ ✔️ ✔️ ✔️ ✔️
UploadTask.abort ✔️ ✔️
UploadTask.onProgressUpdate ✔️ ✔️
UploadTask.offProgressUpdate ✔️ ✔️
UploadTask.onHeadersReceived ✔️ ✔️
UploadTask.offHeadersReceived ✔️ ✔️