将本地资源上传到服务器。客户端发起一个 HTTPS POST 请求,其中 content-type
为 multipart/form-data
。使用前请注意阅读相关说明。
属性 | 类型 | 默认值 | 必填 | 说明 |
---|---|---|---|---|
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 res
属性 | 类型 | 说明 |
---|---|---|
data | string | 开发者服务器返回的数据 |
statusCode | number | 开发者服务器返回的 HTTP 状态码 |
一个可以监听上传进度进度变化的事件和取消上传的对象
qq.chooseImage({
success(res) {
const tempFilePaths = res.tempFilePaths
qq.uploadFile({
url: 'https://example.q.qq.com/upload', // 仅为示例,非真实的接口地址
filePath: tempFilePaths[0],
name: 'file',
formData: {
user: 'test'
},
success(res) {
const data = res.data
// do something
}
})
}
})
一个可以监听上传进度变化事件,以及取消上传任务的对象
中断上传任务
监听上传进度变化事件
取消监听上传进度变化事件
监听 HTTP Response Header 事件。会比请求完成事件更早
取消监听 HTTP Response Header 事件
const uploadTask = qq.uploadFile({
url: 'http://example.q.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() // 取消上传任务
中断上传任务
取消监听 HTTP Response Header 事件
HTTP Response Header 事件的回调函数
取消监听上传进度变化事件
上传进度变化事件的回调函数
监听 HTTP Response Header 事件。会比请求完成事件更早
HTTP Response Header 事件的回调函数
Object res
属性 | 类型 | 说明 |
---|---|---|
header | Object | 开发者服务器返回的 HTTP Response Header |
监听上传进度变化事件
上传进度变化事件的回调函数
Object res
属性 | 类型 | 说明 |
---|---|---|
progress | number | 上传进度百分比 |
totalBytesSent | number | 已经上传的数据长度,单位 Bytes |
totalBytesExpectedToSend | number | 预期需要上传的数据总长度,单位 Bytes |