# wx.uploadFile
小程序框架2.0.5版本开始支持
上传文件功能,调用该方法返回一个uploadTask实例。
# 参数
# Object object
| 属性 | 类型 | 默认值 | 必填 | 说明 |
|---|---|---|---|---|
| url | string | 无 | 是 | 上传服务器地址 |
| filePath | string | 无 | 是 | 文件路径,选择器返回的路径(lightresource协议) |
| name | string | 无 | 是 | 文件的key |
| formData | Object | 无 | 否 | HTTP 请求中其他额外的 form data |
| header | Object | 无 | 否 | HTTP 请求 Header,Header 中不能设置 Referer,错误入参将忽略 |
| timeout | number | 无 | 否 | 超时时间,单位为毫秒,错误入参将忽略默认为3000ms |
| success | function | 无 | 否 | 接口调用成功的回调函数 |
| fail | function | 无 | 否 | 接口调用失败的回调函数 |
| complete | function | 无 | 否 | 接口调用结束的回调函数(调用成功、失败都会执行) |
# object.success 回调函数
# 参数
Object res
| 属性 | 类型 | 说明 |
|---|---|---|
| data | string | 请求信息 |
| header | Object | 响应头 |
# 示例代码
let task = wx.uploadFile({
url: "http://X.X.X.X:X/upload_file.php",
filePath: imgpath,
name: "file",
success:data =>{
console.log(JSON.stringify(data))
}
})
task.onProgressUpdate(data =>{
console.log(JSON.stringify(data))
})
task.onHeadersReceived(data =>{
console.log(JSON.stringify(data))
})
# 实例的方法
# void UploadTask.onProgressUpdate(function cb)
监听上传进度事件,会多次触发,在任务结束回调之前触发。
# 参数
| 属性 | 类型 | 默认值 | 必填 | 说明 |
|---|---|---|---|---|
| cb | function | 是 | 对应的回调函数 |
# 回调参数
Object res
| 属性 | 类型 | 说明 |
|---|---|---|
| progress | number | 上传进度百分比 |
| totalBytesSent | number | 已上传字节数 |
| totalBytesExpectedToSend | number | 总字节数 |
# void UploadTask.onHeadersReceived(function cb)
监听HTTP Response Header 事件,在任务结束回调之前触发。
# 参数
| 属性 | 类型 | 默认值 | 必填 | 说明 |
|---|---|---|---|---|
| cb | function | 是 | 对应的回调函数 |
# 回调参数
Object res
| 属性 | 类型 | 说明 |
|---|---|---|
| header | Object | 响应头 |
# void UploadTask.offProgressUpdate(function cb)
取消监听上传进度事件
# 参数
| 属性 | 类型 | 默认值 | 必填 | 说明 |
|---|---|---|---|---|
| cb | function | 是 | 对应的回调函数 |
# void UploadTask.offHeadersReceived(function cb)
取消监听HTTP Response Header 事件
# 参数
| 属性 | 类型 | 默认值 | 必填 | 说明 |
|---|---|---|---|---|
| cb | function | 是 | 对应的回调函数 |
# void UploadTask.abort()
取消上传任务