uploadFile
功能说明:将本地资源上传到服务器。客户端发起一个 HTTPS POST 请求,其中
content-type
为 multipart/form-data
。使用前请注意阅读 相关说明。·参数及说明:Object object。
属性 | 类型 | 默认值 | 必填 | 说明 |
url | string | - | 是 | 开发者服务器址 |
filePath | string | - | 是 | 要上传文件资源的路径 (本地路径) |
name | string | - | 是 | 文件对应的 key,开发者在服务端可以通过这个 key 获取文件的二进制内容 |
header | object | - | 否 | HTTP 请求 Header,Header 中不能设置 Referer |
formData | object | - | 否 | HTTP 请求中其他额外的 form data |
success | function | - | 否 | 接口调用成功的回调函数 |
fail | function | - | 否 | 接口调用失败的回调函数 |
complete | function | - | 否 | 接口调用结束的回调函数(调用成功、失败都会执行) |
object.success 回调函数参数:Object res。
属性 | 类型 | 说明 |
data | string | 开发者服务器返回的数据 |
statusCode | number | 开发者服务器返回的 HTTP 状态码 |
返回值:UploadTask,一个可以监听上传进度进度变化的事件和取消上传的对象。
示例代码:
wx.chooseImage({success (res) {const tempFilePaths = res.tempFilePathswx.uploadFile({url: 'https://example.weixin.qq.com/upload', //仅为示例,非真实的接口地址filePath: tempFilePaths[0],name: 'file',formData: {'user': 'test'},success (res){const data = res.data//do something}})}})
UploadTask
.abort
该 方法 使用方式为 UploadTask.abort()
功能说明:中断上传任务。
.onProgressUpdate
该 方法 使用方式为 UploadTask.onProgressUpdate(function listener)
功能说明:监听上传进度变化事件。
参数及说明:function listener,上传进度变化事件的监听函数。
属性 | 类型 | 说明 |
progress | number | 下载进度百分比 |
totalBytesWritten | number | 已经下载的数据长度,单位 Bytes |
totalBytesExpectedToWrite | number | 预期需要下载的数据总长度,单位 Bytes |
.offProgressUpdate
该 方法 使用方式为 UploadTask.offProgressUpdate(function listener)
功能说明:移除上传进度变化事件的监听函数。
参数及说明:function listener,onProgressUpdate 传入的监听函数。不传此参数则移除所有监听函数。
示例代码
const listener = function (res) { console.log(res) }DownloadTask.onProgressUpdate(listener)DownloadTask.offProgressUpdate(listener) // 需传入与监听时同一个的函数对象
.onHeadersReceived
该 方法 使用方式为 UploadTask.onHeadersReceived(function listener)
功能说明:监听 HTTP Response Header 事件。会比请求完成事件更早。
参数及说明:function listener,HTTP Response Header 事件的监听。
属性 | 类型 | 说明 |
header | Object | 开发者服务器返回的 HTTP Response Header |
.offHeadersReceived
该 方法 使用方式为 UploadTask.offHeadersReceived(function listener)
功能说明:移除 HTTP Response Header 事件的监听函数。
参数及说明:function listener,onHeadersReceived 传入的监听函数。不传此参数则移除所有监听函数。
示例代码
const listener = function (res) { console.log(res) }UploadTask.onHeadersReceived(listener)UploadTask.offHeadersReceived(listener) // 需传入与监听时同一个的函数对象
示例代码
const uploadTask = wx.uploadFile({url: 'http://example.weixin.qq.com/upload', //仅为示例,非真实的接口地址filePath: tempFilePaths[0],name: 'file',formData:{'user': 'test'},success (res){const data = res.data//do something}})uploadTask.onProgressUpdate((res) => {console.log('上传进度', res.progress)console.log('已经上传的数据长度', res.totalBytesSent)console.log('预期需要上传的数据总长度', res.totalBytesExpectedToSend)})uploadTask.abort() // 取消上传任务