search
开发文档
开发文档/小游戏开发/API/网络/上传
上传更新时间:2025-12-24 18:13:05

基础信息说明

功能概述:将本地资源上传到服务器。客户端发起一个 HTTPS POST 请求,其中 Content-Type 为 multipart/form-data,并返回一个可监听上传进度、可中断的上传任务对象 UploadTask。

项目说明
版本要求
前提条件
使用限制
相关教程

方法说明

qg.uploadFile 返回的 UploadTask支持以下方法:

方法名签名同步/异步说明
uploadFileqg.uploadFile(Object object) : UploadTask异步将本地资源上传到服务器。客户端发起一个 HTTPS POST 请求,其中 content-type 为 multipart/form-data
onProgressUpdateUploadTask.onProgressUpdate(function callback) : void同步监听上传进度变化事件
offProgressUpdate
UploadTask.offProgressUpdate(function callback) : void同步取消监听上传进度变化事件
abortUploadTask.abort() : void同步中断上传任务
onHeadersReceivedUploadTask.onHeadersReceived(function callback)同步监听 HTTP Response Header 事件
offHeadersReceivedUploadTask.offHeadersReceived(function callback)同步移除 HTTP Response Header 事件的监听函数

参数说明

qg.uploadFile(Object object): UploadTask

属性名类型默认值(如有)必填说明
urlString-开发者服务器地址
filePathString-要上传文件资源的路径
nameString-文件对应的 key,开发者在服务端可以通过这个 key 获取文件的二进制内容
headerObject-HTTP 请求 Header,Header 中不能设置 Referer
formDataObject-HTTP 请求中其他额外的 form data
successFunction(Object res)-接口调用成功的回调函数
failFunction-接口调用失败的回调函数
completeFunction-接口调用结束的回调函数(调用成功、失败都会执行)

success 回调函数的参数 Object res

属性类型说明
dataString开发者服务器返回的数据
statusCodeNumber开发者服务器返回的 HTTP 状态码

UploadTask.onProgressUpdate(Function callback)

属性名类型必填说明
callbackFunction 上传进度变化事件的回调函数

回调函数 callback(Object res)

属性名类型说明
progressNumber当前上传进度百分比(0 - 100)
totalBytesSentNumber当前已上传字节数
totalBytesExpectedToSendNumber预计需要上传的总字节数

UploadTask.offProgressUpdate(Function callback)

参数名类型必填说明
callbackFunction需要取消的监听回调;需传入原注册时的同一函数引用

UploadTask.onHeadersReceived(Function callback)

参数名类型必填说明
callbackFunction收到响应头时的回调函数

回调函数 callback(Object res)

属性名类型说明
headerObjectHTTP 响应头字典(原样透传)

UploadTask.offHeadersReceived(Function callback)

参数名类型必填说明
callbackFunction需要取消的监听回调;需传入原注册时的同一函数引用

返回值说明

qg.uploadFile(Object option): UploadTask:同步返回上传任务对象 UploadTask,不会通过返回值直接给出上传结果,结果需依赖:

  • option.success / option.fail / option.complete 回调
  • 或 UploadTask 上注册的事件监听(onProgressUpdate / onHeadersReceived)
属性名类型说明
UploadTaskObject一个可以监听上传进度变化的事件,以及取消上传任务的对象

回调结果说明

qg.uploadFile 的参数中定义的success回调函数具有参数 Object res属性如下:

属性名类型说明
dataString开发者服务器返回的数据
statusCodeNumber开发者服务器返回的 HTTP 状态码

UploadTask.onProgressUpdate的回调函数具有参数 Object res属性如下:

属性名类型说明
progressNumber上传进度百分比
totalBytesSentNumber已经上传的数据长度,单位 Bytes
totalBytesExpectedToSendNumber预期需要上传的数据总长度,单位 Bytes

UploadTask.onHeadersReceived的回调函数具有参数 Object header说明如下:

属性名类型说明
headerObject开发者服务器返回的 HTTP Response Header

示例代码

const uploadTask = qg.uploadFile({
url: '',
filePath:'',
name:'test',
success: function (res) {
console.log('uploadTask success::', res)
},
fail: function () {
console.log('uploadTask fail')
},
complete: function () {
console.log('uploadTask complete')
}
});

uploadTask.onProgressUpdate(function (res) {
console.log('uploadTask::onProgressUpdate', res)
});

function handleProgressUpdate(res) {
console.log('uploadTask::current progress:', res.progress)
}

uploadTask.onProgressUpdate(handleProgressUpdate);
uploadTask.offProgressUpdate(handleProgressUpdate);

function handleHeadersReceived(res) {
console.log('uploadTask::Response Headers:', res.header);
}

uploadTask.onHeadersReceived(handleHeadersReceived);
uploadTask.offHeadersReceived(handleHeadersReceived);

uploadTask.abort();

注意事项

  • Header 中禁止设置 Referer 字段,否则请求可能被宿主或服务器拒绝
上一篇:下载
下一篇:数据缓存
文档内容是否有帮助?
有帮助
无帮助