将本地资源上传到服务器。客户端发起一个 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 | |
timeout | Number | 否 | 超时时间,单位为毫秒 | |
success | Function | 否 | 接口调用成功的回调函数 | |
fail | Function | 否 | 接口调用失败的回调函数 | |
complete | Function | 否 | 接口调用结束的回调函数(调用成功、失败都会执行) |
属性 | 类型 | 说明 |
---|---|---|
data | String | 开发者服务器返回的数据 |
statusCode | Number | 开发者服务器返回的 HTTP 状态码 |
qg.chooseImage({
success(res) {
const tempFilePaths = res.tempFilePaths;
qg.uploadFile({
url: "https://example.com/upload", //仅为示例,非真实的接口地址
filePath: tempFilePaths[0],
name: "file",
formData: {
user: "test"
},
success(res) {
const data = res.data;
//do something
}
});
}
});
一个可以监听上传进度变化事件,以及取消上传任务的对象
监听 HTTP Response Header 事件。会比请求完成事件更早
HTTP Response Header 事件的监听函数
属性 | 类型 | 说明 |
---|---|---|
header | Object | 开发者服务器返回的 HTTP Response Header |
监听上传进度变化事件
上传进度变化事件的监听函数
属性 | 类型 | 说明 |
---|---|---|
progress | Number | 上传进度百分比 |
totalBytesSent | Number | 已经上传的数据长度,单位 Bytes |
totalBytesExpectedToSend | Number | 预期需要上传的数据总长度,单位 Bytes |
移除上传进度变化事件的监听函数
onProgressUpdate 传入的监听函数。不传此参数则移除所有监听函数。
const listener = function(res) {
console.log(res);
};
UploadTask.onProgressUpdate(listener);
UploadTask.offProgressUpdate(listener); // 需传入与监听时同一个的函数对象
移除 HTTP Response Header 事件的监听函数
onHeadersReceived 传入的监听函数。不传此参数则移除所有监听函数。
const listener = function(res) {
console.log(res);
};
UploadTask.onHeadersReceived(listener);
UploadTask.offHeadersReceived(listener); // 需传入与监听时同一个的函数对象
中断上传任务