参数
Object object
属性 | 类型 | 默认值 | 必填 | 说明 | 最低版本 |
---|---|---|---|---|---|
url | string | 是 | 开发者服务器地址 | ||
filePath | string | 是 | 要上传文件资源的路径 (本地路径) | ||
name | string | 是 | 文件对应的 key,开发者在服务端可以通过这个 key 获取文件的二进制内容 | ||
header | Object | 否 | HTTP 请求 Header,Header 中不能设置 Referer | ||
formData | Object | 否 | HTTP 请求中其他额外的 form data | ||
timeout | number | 否 | 超时时间,单位为毫秒 | 2.10.0 | |
success | function | 否 | 接口调用成功的回调函数 | ||
fail | function | 否 | 接口调用失败的回调函数 | ||
complete | function | 否 | 接口调用结束的回调函数(调用成功、失败都会执行) |
object.success 回调函数
参数
Object res
属性 | 说明 | 类型 |
---|---|---|
data | string | 开发者服务器返回的数据 |
statusCode | number | 开发者服务器返回的 HTTP 状态码 |
返回值
UploadTask基础库 1.4.0 开始支持,低版本需做兼容处理
一个可以监听上传进度进度变化的事件和取消上传的对象
示例代码
wx.chooseImage({
success (res) {
const tempFilePaths = res.tempFilePaths
wx.uploadFile({
url: 'https://example.weixin.qq.com/upload', //仅为示例,非真实的接口地址
filePath: tempFilePaths[0],
name: 'file',
formData: {
'user': 'test'
},
success (res){
const data = res.data
//do something
}
})
}
})
返回值的调用方法
/*
url 开发者服务器地址
filePath 要上传文件资源的路径
name 文件对应的 key,开发者在服务端可以通过这个 key 获取文件的二进制内容
header HTTP 请求 Header,Header 中不能设置 Referer
formData HTTP 请求中其他额外的 form data
*/
Page({
data: {
},
onLoad: function (options) {
//待上传的文件
const tempFilePaths = options.tempFilePaths
const uploadTask = wx.downloadFile({
url: 'https://example.weixin.qq.com/upload',
filePath: tempFilePaths[0],
name: 'file',
formData: {
user: 'test'
},
success(res) {
console.log('上传成功:', res.data)
console.log('状态码:', res.statusCode)
},
fail(err){
console.log('上传失败:',err)
}
})
},
btnClick1:function(){
uploadTask.onProgressUpdate((res) => {
console.log('上传进度', res.progress)
console.log('已经上传的数据长度', res.totalBytesSent)
console.log('预期需要上传的数据总长度', res.totalBytesExpectedToSend)
})
},
btnClick2: function () {
uploadTask.abort() // 取消上传任务
}
})