HarmonyOs DevEco Studio小技巧33--@ohos.request (上传下载) UploadTask
上传任务,使用下列方法前,需要先获取UploadTask对象,promise形式通过获取,callback形式通过获取。
上传任务,使用下列方法前,需要先获取UploadTask对象,promise形式通过request.uploadFile9+获取,callback形式通过request.uploadFile9+获取。
on('progress')
on(type: 'progress', callback:(uploadedSize: number, totalSize: number) => void): void
订阅上传任务进度事件,异步方法,使用callback形式返回结果。
说明
当应用处于后台时,为满足功耗性能要求,不支持调用此接口进行回调。
系统能力:SystemCapability.MiscServices.Upload
参数:
参数名 | 类型 | 必填 | 说明 |
---|---|---|---|
type | string | 是 | 订阅的事件类型,取值为'progress'(上传任务的进度信息)。 |
callback | function | 是 | 上传任务进度的回调函数,返回已上传文件大小和上传文件总大小。 |
回调函数的参数
参数名 | 类型 | 必填 | 说明 |
---|---|---|---|
uploadedSize | number | 是 | 当前已上传文件大小,单位为字节。 |
totalSize | number | 是 | 上传文件的总大小,单位为字节。 |
错误码:
以下错误码的详细介绍请参见通用错误码说明文档。
错误码ID | 错误信息 |
---|---|
401 | the parameters check fails.Possible causes: 1. Missing mandatory parameters 2. Incorrect parameter type 3. Parameter verification failed |
示例:
let upProgressCallback = (uploadedSize: number, totalSize: number) => {
console.info("upload totalSize:" + totalSize + " uploadedSize:" + uploadedSize);
};
uploadTask.on('progress', upProgressCallback);
on('headerReceive')7+
on(type: 'headerReceive', callback: (header: object) => void): void
订阅上传任务HTTP响应事件,异步方法,使用callback形式返回结果。
系统能力: SystemCapability.MiscServices.Upload
参数:
参数名 | 类型 | 必填 | 说明 |
---|---|---|---|
type | string | 是 | 订阅的事件类型,取值为'headerReceive'(接收响应)。 |
callback | function | 是 | HTTP Response事件的回调函数,返回响应请求内容。 |
回调函数的参数:
参数名 | 类型 | 必填 | 说明 |
---|---|---|---|
header | object | 是 | HTTP Response。 |
错误码:
以下错误码的详细介绍请参见通用错误码说明文档。
错误码ID | 错误信息 |
---|---|
401 | the parameters check fails.Possible causes: 1. Missing mandatory parameters 2. Incorrect parameter type 3. Parameter verification failed |
示例:
let headerCallback = (headers: object) => {
console.info("upOnHeader headers:" + JSON.stringify(headers));
};
uploadTask.on('headerReceive', headerCallback);
on('complete' | 'fail')9+
on(type:'complete' | 'fail', callback: Callback<Array<TaskState>>): void;
订阅上传任务完成或失败事件,异步方法,使用callback形式返回结果。
系统能力:SystemCapability.MiscServices.Upload
参数:
参数名 | 类型 | 必填 | 说明 |
---|---|---|---|
type | string | 是 |
订阅上传任务的回调类型,支持的事件包括:'complete'|'fail'。 -'complete':表示上传任务完成。 -'fail':表示上传任务失败。 |
callback | Callback<Array<TaskState>> | 是 | 上传任务完成或失败的回调函数。返回上传任务的任务状态信息。 |
错误码:
以下错误码的详细介绍请参见通用错误码说明文档。
错误码ID | 错误信息 |
---|---|
401 | the parameters check fails.Possible causes: 1. Missing mandatory parameters 2. Incorrect parameter type 3. Parameter verification failed |
示例:
let upCompleteCallback = (taskStates: Array<request.TaskState>) => {
for (let i = 0; i < taskStates.length; i++) {
console.info("upOnComplete taskState:" + JSON.stringify(taskStates[i]));
}
};
uploadTask.on('complete', upCompleteCallback);
let upFailCallback = (taskStates: Array<request.TaskState>) => {
for (let i = 0; i < taskStates.length; i++) {
console.info("upOnFail taskState:" + JSON.stringify(taskStates[i]));
}
};
uploadTask.on('fail', upFailCallback);
off('progress')
off(type: 'progress', callback?: (uploadedSize: number, totalSize: number) => void): void
取消订阅上传任务进度事件。
系统能力:SystemCapability.MiscServices.Upload
参数:
参数名 | 类型 | 必填 | 说明 |
---|---|---|---|
type | string | 是 | 取消订阅的事件类型,取值为'progress'(上传的进度信息)。 |
callback | function | 否 | 需要取消订阅的回调函数。若无此参数,则取消订阅当前类型的所有回调函数。 |
回调函数的参数
参数名 | 类型 | 必填 | 说明 |
---|---|---|---|
uploadedSize | number | 是 | 当前已上传文件大小,单位为字节。 |
totalSize | number | 是 | 上传文件的总大小,单位为字节。 |
错误码: |
以下错误码的详细介绍请参见通用错误码说明文档。
错误码ID | 错误信息 |
---|---|
401 | the parameters check fails.Possible causes: 1. Missing mandatory parameters 2. Incorrect parameter type 3. Parameter verification failed |
示例:
let upProgressCallback1 = (uploadedSize: number, totalSize: number) => {
console.info('Upload delete progress notification.' + 'totalSize:' + totalSize + 'uploadedSize:' + uploadedSize);
};
let upProgressCallback2 = (uploadedSize: number, totalSize: number) => {
console.info('Upload delete progress notification.' + 'totalSize:' + totalSize + 'uploadedSize:' + uploadedSize);
};
uploadTask.on('progress', upProgressCallback1);
uploadTask.on('progress', upProgressCallback2);
//表示取消upProgressCallback1的订阅
uploadTask.off('progress', upProgressCallback1);
//表示取消订阅上传任务进度事件的所有回调
uploadTask.off('progress');
off('headerReceive')7+
off(type: 'headerReceive', callback?: (header: object) => void): void
取消订阅上传任务HTTP响应事件。
系统能力:SystemCapability.MiscServices.Upload
参数:
参数名 | 类型 | 必填 | 说明 |
---|---|---|---|
type | string | 是 | 取消订阅的事件类型,取值为'headerReceive'(接收响应)。 |
callback | function | 否 | 需要取消订阅的回调函数。若无此参数,则取消订阅当前类型的所有回调函数。 |
错误码:
以下错误码的详细介绍请参见通用错误码说明文档。
错误码ID | 错误信息 |
---|---|
401 | the parameters check fails.Possible causes: 1. Missing mandatory parameters 2. Incorrect parameter type 3. Parameter verification failed |
示例:
let headerCallback1 = (header: object) => {
console.info(`Upload delete headerReceive notification. header: ${JSON.stringify(header)}`);
};
let headerCallback2 = (header: object) => {
console.info(`Upload delete headerReceive notification. header: ${JSON.stringify(header)}`);
};
uploadTask.on('headerReceive', headerCallback1);
uploadTask.on('headerReceive', headerCallback2);
//表示取消headerCallback1的订阅
uploadTask.off('headerReceive', headerCallback1);
//表示取消订阅上传任务HTTP标头事件的所有回调
uploadTask.off('headerReceive');
off('complete' | 'fail')9+
off(type:'complete' | 'fail', callback?: Callback<Array<TaskState>>): void;
取消订阅上传任务完成或失败事件。
系统能力:SystemCapability.MiscServices.Upload
参数:
参数名 | 类型 | 必填 | 说明 |
---|---|---|---|
type | string | 是 | 订阅的事件类型,取值为'complete',表示上传任务完成;取值为'fail',表示上传任务失败。 |
callback | Callback<Array<TaskState>> | 否 | 需要取消订阅的回调函数。若无此参数,则取消订阅当前类型的所有回调函数。 |
错误码:
以下错误码的详细介绍请参见通用错误码说明文档。
错误码ID | 错误信息 |
---|---|
401 | the parameters check fails.Possible causes: 1. Missing mandatory parameters 2. Incorrect parameter type 3. Parameter verification failed |
示例:
let upCompleteCallback1 = (taskStates: Array<request.TaskState>) => {
console.info('Upload delete complete notification.');
for (let i = 0; i < taskStates.length; i++) {
console.info('taskState:' + JSON.stringify(taskStates[i]));
}
};
let upCompleteCallback2 = (taskStates: Array<request.TaskState>) => {
console.info('Upload delete complete notification.');
for (let i = 0; i < taskStates.length; i++) {
console.info('taskState:' + JSON.stringify(taskStates[i]));
}
};
uploadTask.on('complete', upCompleteCallback1);
uploadTask.on('complete', upCompleteCallback2);
//表示取消headerCallback1的订阅
uploadTask.off('complete', upCompleteCallback1);
//表示取消订阅上传任务完成的所有回调
uploadTask.off('complete');
let upFailCallback1 = (taskStates: Array<request.TaskState>) => {
console.info('Upload delete fail notification.');
for (let i = 0; i < taskStates.length; i++) {
console.info('taskState:' + JSON.stringify(taskStates[i]));
}
};
let upFailCallback2 = (taskStates: Array<request.TaskState>) => {
console.info('Upload delete fail notification.');
for (let i = 0; i < taskStates.length; i++) {
console.info('taskState:' + JSON.stringify(taskStates[i]));
}
};
uploadTask.on('fail', upFailCallback1);
uploadTask.on('fail', upFailCallback2);
//表示取消headerCallback1的订阅
uploadTask.off('fail', upFailCallback1);
//表示取消订阅上传任务失败的所有回调
uploadTask.off('fail');
更多推荐
所有评论(0)