request部件主要給應(yīng)用提供上傳下載文件、后臺傳輸代理的基礎(chǔ)能力。
本模塊首批接口從API version 6開始支持。后續(xù)版本的新增接口,采用上角標(biāo)單獨(dú)標(biāo)記接口的起始版本。
需要權(quán)限:ohos.permission.INTERNET
系統(tǒng)能力: 以下各項(xiàng)對應(yīng)的系統(tǒng)能力均為SystemCapability.MiscServices.Download。
下載支持自定義網(wǎng)絡(luò)類型,可以在DownloadConfig中通過networkType配置成以下網(wǎng)絡(luò)類型。
名稱 | 參數(shù)類型 | 數(shù)值 | 說明 |
---|---|---|---|
NETWORK_MOBILE | number | 0x00000001 | 使用蜂窩網(wǎng)絡(luò)時(shí)允許下載的位標(biāo)志。 |
NETWORK_WIFI | number | 0x00010000 | 使用WLAN時(shí)允許下載的位標(biāo)志。 |
下載on('fail')7+事件的錯誤參數(shù)、 getTaskInfo9+返回值的failedReason字段取值。
名稱 | 參數(shù)類型 | 數(shù)值 | 說明 |
---|---|---|---|
ERROR_CANNOT_RESUME7+ | number | 0 | 網(wǎng)絡(luò)原因?qū)е禄謴?fù)下載失敗。 |
ERROR_DEVICE_NOT_FOUND7+ | number | 1 | 找不到SD卡等存儲設(shè)備。 |
ERROR_FILE_ALREADY_EXISTS7+ | number | 2 | 要下載的文件已存在,下載會話不能覆蓋現(xiàn)有文件。 |
ERROR_FILE_ERROR7+ | number | 3 | 文件操作失敗。 |
ERROR_HTTP_DATA_ERROR7+ | number | 4 | HTTP傳輸失敗。 |
ERROR_INSUFFICIENT_SPACE7+ | number | 5 | 存儲空間不足。 |
ERROR_TOO_MANY_REDIRECTS7+ | number | 6 | 網(wǎng)絡(luò)重定向過多導(dǎo)致的錯誤。 |
ERROR_UNHANDLED_HTTP_CODE7+ | number | 7 | 無法識別的HTTP代碼。 |
ERROR_UNKNOWN7+ | number | 8 | 未知錯誤。 |
ERROR_OFFLINE9+ | number | 9 | 網(wǎng)絡(luò)未連接。 |
ERROR_UNSUPPORTED_NETWORK_TYPE9+ | number | 10 | 網(wǎng)絡(luò)類型不匹配。 |
下載相關(guān)getTaskInfo9+返回值的pausedReason字段取值。
名稱 | 參數(shù)類型 | 數(shù)值 | 說明 |
---|---|---|---|
PAUSED_QUEUED_FOR_WIFI7+ | number | 0 | 下載被暫停并等待WLAN連接,因?yàn)槲募笮〕^了使用蜂窩網(wǎng)絡(luò)的會話允許的最大值。 |
PAUSED_WAITING_FOR_NETWORK7+ | number | 1 | 由于網(wǎng)絡(luò)問題(例如網(wǎng)絡(luò)斷開)而暫停下載。 |
PAUSED_WAITING_TO_RETRY7+ | number | 2 | 發(fā)生網(wǎng)絡(luò)錯誤,將重試下載會話。 |
PAUSED_BY_USER9+ | number | 3 | 用戶暫停會話。 |
PAUSED_UNKNOWN7+ | number | 4 | 未知原因?qū)е聲和O螺d。 |
下載相關(guān)getTaskInfo9+返回值的status字段取值。
名稱 | 參數(shù)類型 | 數(shù)值 | 說明 |
---|---|---|---|
SESSION_SUCCESSFUL7+ | number | 0 | 下載會話已完成。 |
SESSION_RUNNING7+ | number | 1 | 下載會話正在進(jìn)行中。 |
SESSION_PENDING7+ | number | 2 | 正在調(diào)度下載會話。 |
SESSION_PAUSED7+ | number | 3 | 下載會話已暫停。 |
SESSION_FAILED7+ | number | 4 | 下載會話已失敗,將不會重試。 |
uploadFile(context: BaseContext, config: UploadConfig): Promise<UploadTask>
上傳,異步方法,使用promise形式返回結(jié)果。通過on('fail')7+可獲取任務(wù)上傳時(shí)的錯誤信息。
需要權(quán)限:ohos.permission.INTERNET
系統(tǒng)能力: SystemCapability.MiscServices.Upload
參數(shù):
參數(shù)名 | 類型 | 必填 | 說明 |
---|---|---|---|
context | 是 | 基于應(yīng)用程序的上下文。 | |
config | 是 | 上傳的配置信息。 |
返回值:
類型 | 說明 |
---|---|
Promise<UploadTask> | 返回上傳任務(wù)。 |
錯誤碼:
以下錯誤碼的詳細(xì)介紹請參見上傳下載錯誤碼。
錯誤碼ID | 錯誤信息 |
---|---|
13400002 | bad file path. |
示例:
- let uploadTask;
- let uploadConfig = {
- url: 'http://www.example.com', //需要手動替換為真實(shí)服務(wù)器地址
- header: { 'Accept': '*/*' },
- method: "POST",
- files: [{ filename: "test", name: "test", uri: "internal://cache/test.jpg", type: "jpg" }],
- data: [{ name: "name123", value: "123" }],
- };
- try {
- request.uploadFile(globalThis.abilityContext, uploadConfig).then((data) => {
- uploadTask = data;
- }).catch((err) => {
- console.error('Failed to request the upload. Cause: ' + JSON.stringify(err));
- });
- } catch (err) {
- console.error('err.code : ' + err.code + ', err.message : ' + err.message);
- }
uploadFile(context: BaseContext, config: UploadConfig, callback: AsyncCallback<UploadTask>): void
上傳,異步方法,使用callback形式返回結(jié)果。通過on('fail')7+可獲取任務(wù)上傳時(shí)的錯誤信息。
需要權(quán)限:ohos.permission.INTERNET
系統(tǒng)能力: SystemCapability.MiscServices.Upload
參數(shù):
參數(shù)名 | 類型 | 必填 | 說明 |
---|---|---|---|
context | 是 | 基于應(yīng)用程序的上下文。 | |
config | 是 | 上傳的配置信息。 | |
callback | AsyncCallback<UploadTask> | 是 | 回調(diào)函數(shù),異步返回UploadTask對象。 |
錯誤碼:
以下錯誤碼的詳細(xì)介紹請參見上傳下載錯誤碼。
錯誤碼ID | 錯誤信息 |
---|---|
13400002 | bad file path. |
示例:
- let uploadTask;
- let uploadConfig = {
- url: 'http://www.example.com', //需要手動替換為真實(shí)服務(wù)器地址
- header: { 'Accept': '*/*' },
- method: "POST",
- files: [{ filename: "test", name: "test", uri: "internal://cache/test.jpg", type: "jpg" }],
- data: [{ name: "name123", value: "123" }],
- };
- try {
- request.uploadFile(globalThis.abilityContext, uploadConfig, (err, data) => {
- if (err) {
- console.error('Failed to request the upload. Cause: ' + JSON.stringify(err));
- return;
- }
- uploadTask = data;
- });
- } catch (err) {
- console.error('err.code : ' + err.code + ', err.message : ' + err.message);
- }
upload(config: UploadConfig): Promise<UploadTask>
上傳,異步方法,使用promise形式返回結(jié)果。
模型約束:此接口僅可在FA模型下使用
需要權(quán)限:ohos.permission.INTERNET
系統(tǒng)能力: SystemCapability.MiscServices.Upload
參數(shù):
參數(shù)名 | 類型 | 必填 | 說明 |
---|---|---|---|
config | 是 | 上傳的配置信息。 |
返回值:
類型 | 說明 |
---|---|
Promise<UploadTask> | 返回上傳任務(wù)。 |
示例:
- let uploadTask;
- let uploadConfig = {
- url: 'http://www.example.com', //需要手動替換為真實(shí)服務(wù)器地址
- header: { 'Accept': '*/*' },
- method: "POST",
- files: [{ filename: "test", name: "test", uri: "internal://cache/test.jpg", type: "jpg" }],
- data: [{ name: "name123", value: "123" }],
- };
- request.upload(uploadConfig).then((data) => {
- uploadTask = data;
- }).catch((err) => {
- console.error('Failed to request the upload. Cause: ' + JSON.stringify(err));
- })
upload(config: UploadConfig, callback: AsyncCallback<UploadTask>): void
上傳,異步方法,使用callback形式返回結(jié)果。
模型約束:此接口僅可在FA模型下使用
需要權(quán)限:ohos.permission.INTERNET
系統(tǒng)能力: SystemCapability.MiscServices.Upload
參數(shù):
參數(shù)名 | 類型 | 必填 | 說明 |
---|---|---|---|
config | 是 | 上傳的配置信息。 | |
callback | AsyncCallback<UploadTask> | 是 | 回調(diào)函數(shù),異步返回UploadTask對象。 |
示例:
- let uploadTask;
- let uploadConfig = {
- url: 'http://www.example.com', //需要手動替換為真實(shí)服務(wù)器地址
- header: { 'Accept': '*/*' },
- method: "POST",
- files: [{ filename: "test", name: "test", uri: "internal://cache/test.jpg", type: "jpg" }],
- data: [{ name: "name123", value: "123" }],
- };
- request.upload(uploadConfig, (err, data) => {
- if (err) {
- console.error('Failed to request the upload. Cause: ' + JSON.stringify(err));
- return;
- }
- uploadTask = data;
- });
on(type: 'progress', callback:(uploadedSize: number, totalSize: number) => void): void
訂閱上傳任務(wù)進(jìn)度監(jiān)聽,同步方法,使用callback形式返回結(jié)果。
需要權(quán)限:ohos.permission.INTERNET
系統(tǒng)能力: SystemCapability.MiscServices.Upload
參數(shù):
參數(shù)名 | 類型 | 必填 | 說明 |
---|---|---|---|
type | string | 是 | 訂閱的事件類型,取值為'progress'(上傳的進(jìn)度信息)。 |
callback | function | 是 | 上傳進(jìn)度的回調(diào)函數(shù)。 |
回調(diào)函數(shù)的參數(shù)
參數(shù)名 | 類型 | 必填 | 說明 |
---|---|---|---|
uploadedSize | number | 是 | 當(dāng)前已上傳文件大小,單位為bit。 |
totalSize | number | 是 | 上傳文件的總大小,單位為bit。 |
示例:
- let upProgressCallback = (uploadedSize, totalSize) => {
- console.info("upload totalSize:" + totalSize + " uploadedSize:" + uploadedSize);
- };
- uploadTask.on('progress', upProgressCallback);
on(type: 'headerReceive', callback: (header: object) => void): void
訂閱上傳任務(wù)HTTP標(biāo)頭監(jiān)聽,同步方法,使用callback形式返回結(jié)果。
需要權(quán)限:ohos.permission.INTERNET
系統(tǒng)能力: SystemCapability.MiscServices.Upload
參數(shù):
參數(shù)名 | 類型 | 必填 | 說明 |
---|---|---|---|
type | string | 是 | 訂閱的事件類型,取值為'headerReceive'(接收響應(yīng)頭)。 |
callback | function | 是 | HTTP Response Header事件的回調(diào)函數(shù)。 |
回調(diào)函數(shù)的參數(shù):
參數(shù)名 | 類型 | 必填 | 說明 |
---|---|---|---|
header | object | 是 | HTTP Response Header。 |
示例:
- let headerCallback = (headers) => {
- console.info("upOnHeader headers:" + JSON.stringify(headers)
- );
- uploadTask.on('headerReceive', headerCallback);
on(type:'complete' | 'fail', callback: Callback<Array<TaskState>>): void;
訂閱上傳任務(wù)完成或失敗監(jiān)聽,同步方法,使用callback形式返回結(jié)果。
需要權(quán)限:ohos.permission.INTERNET
系統(tǒng)能力: SystemCapability.MiscServices.Upload
參數(shù):
參數(shù)名 | 類型 | 必填 | 說明 |
---|---|---|---|
type | string | 是 | 訂閱的事件類型,取值為'complete',表示上傳任務(wù)完成;取值為'fail',表示上傳任務(wù)失敗。 |
callback | Callback<Array<TaskState>> | 是 | 上傳任務(wù)完成或失敗的回調(diào)函數(shù)。 |
回調(diào)函數(shù)的參數(shù):
參數(shù)名 | 類型 | 必填 | 說明 |
---|---|---|---|
taskstates | Array<TaskState> | 是 | 上傳任務(wù)返回結(jié)果。 |
示例:
- let upCompleteCallback = (taskStates) => {
- for (let i = 0; i < taskStates.length; i++ ) {
- console.info("upOnComplete taskState:" + JSON.stringify(taskStates[i]));
- }
- };
- uploadTask.on('complete', upCompleteCallback);
- let upFailCallback = (taskStates) => {
- for (let i = 0; i < taskStates.length; i++ ) {
- console.info("upOnFail taskState:" + JSON.stringify(taskStates[i]));
- }
- };
- uploadTask.on('fail', upFailCallback);
off(type: 'progress', callback?: (uploadedSize: number, totalSize: number) => void): void
刪除上傳任務(wù)進(jìn)度監(jiān)聽,同步方法。
需要權(quán)限:ohos.permission.INTERNET
系統(tǒng)能力: SystemCapability.MiscServices.Upload
參數(shù):
參數(shù)名 | 類型 | 必填 | 說明 |
---|---|---|---|
type | string | 是 | 取消訂閱的事件類型,取值為'progress'(上傳的進(jìn)度信息)。 |
callback | function | 否 | 上傳任務(wù)的回調(diào)函數(shù)。 uploadedSize:當(dāng)前已上傳文件的大小,單位為bit。 totalSize:上傳文件的總大小,單位為bit。 |
示例:
- let upProgressCallback = (uploadedSize, totalSize) => {
- console.info('Upload delete progress notification.' + 'totalSize:' + totalSize + 'uploadedSize:' + uploadedSize);
- };
- uploadTask.off('progress', upProgressCallback);
off(type: 'headerReceive', callback?: (header: object) => void): void
刪除上傳任務(wù)HTTP標(biāo)頭監(jiān)聽,同步方法。
需要權(quán)限:ohos.permission.INTERNET
系統(tǒng)能力: SystemCapability.MiscServices.Upload
參數(shù):
參數(shù)名 | 類型 | 必填 | 說明 |
---|---|---|---|
type | string | 是 | 取消訂閱的事件類型,取值為'headerReceive'(接收響應(yīng)頭)。 |
callback | function | 否 | HTTP Response Header事件的回調(diào)函數(shù)。 header:HTTP Response Header。 |
示例:
- let headerCallback = (header) => {
- console.info(`Upload delete headerReceive notification. header: ${JSON.stringify(header)}`);
- };
- uploadTask.off('headerReceive', headerCallback);
off(type:'complete' | 'fail', callback?: Callback<Array<TaskState>>): void;
刪除上傳任務(wù)完成或失敗監(jiān)聽,同步方法。
需要權(quán)限:ohos.permission.INTERNET
系統(tǒng)能力: SystemCapability.MiscServices.Upload
參數(shù):
參數(shù)名 | 類型 | 必填 | 說明 |
---|---|---|---|
type | string | 是 | 訂閱的事件類型,取值為'complete',表示上傳任務(wù)完成;取值為'fail',表示上傳任務(wù)失敗。 |
callback | Callback<Array<TaskState>> | 否 | 需要刪除的上傳任務(wù)完成或失敗的回調(diào)函數(shù)。 taskstates:上傳任務(wù)返回結(jié)果。 |
示例:
- let upCompleteCallback = (taskStates) => {
- console.info('Upload delete complete notification.');
- for (let i = 0; i < taskStates.length; i++ ) {
- console.info('taskState:' + JSON.stringify(taskStates[i]));
- }
- };
- uploadTask.off('complete', upCompleteCallback);
- let upFailCallback = (taskStates) => {
- console.info('Upload delete fail notification.');
- for (let i = 0; i < taskStates.length; i++ ) {
- console.info('taskState:' + JSON.stringify(taskStates[i]));
- }
- };
- uploadTask.off('fail', upFailCallback);
delete(): Promise<boolean>
移除上傳的任務(wù),異步方法,使用promise形式返回結(jié)果。
需要權(quán)限:ohos.permission.INTERNET
系統(tǒng)能力: SystemCapability.MiscServices.Upload
返回值:
類型 | 說明 |
---|---|
Promise<boolean> | 移除任務(wù)是否成功。true:成功,false:不成功。 |
示例:
- uploadTask.delete().then((result) => {
- if (result) {
- console.info('Upload task removed successfully. ');
- } else {
- console.error('Failed to remove the upload task. ');
- }
- }).catch((err) => {
- console.error('Failed to remove the upload task. Cause: ' + JSON.stringify(err));
- });
delete(callback: AsyncCallback<boolean>): void
移除上傳的任務(wù),異步方法,使用callback形式返回結(jié)果。
需要權(quán)限:ohos.permission.INTERNET
系統(tǒng)能力: SystemCapability.MiscServices.Upload
參數(shù):
參數(shù)名 | 類型 | 必填 | 說明 |
---|---|---|---|
callback | AsyncCallback<boolean> | 是 | 移除任務(wù)的回調(diào)函數(shù)。 |
示例:
- uploadTask.delete((err, result) => {
- if (err) {
- console.error('Failed to remove the upload task. Cause: ' + JSON.stringify(err));
- return;
- }
- if (result) {
- console.info('Upload task removed successfully.');
- } else {
- console.error('Failed to remove the upload task.');
- }
- });
remove(): Promise<boolean>
移除上傳的任務(wù),異步方法,使用promise形式返回結(jié)果。
需要權(quán)限:ohos.permission.INTERNET
系統(tǒng)能力: SystemCapability.MiscServices.Upload
返回值:
類型 | 說明 |
---|---|
Promise<boolean> | 移除任務(wù)是否成功。true:成功,false:不成功。 |
示例:
- uploadTask.remove().then((result) => {
- if (result) {
- console.info('Upload task removed successfully. ');
- } else {
- console.error('Failed to remove the upload task. ');
- }
- }).catch((err) => {
- console.error('Failed to remove the upload task. Cause: ' + JSON.stringify(err));
- });
remove(callback: AsyncCallback<boolean>): void
移除上傳的任務(wù),異步方法,使用callback形式返回結(jié)果。
需要權(quán)限:ohos.permission.INTERNET
系統(tǒng)能力: SystemCapability.MiscServices.Upload
參數(shù):
參數(shù)名 | 類型 | 必填 | 說明 |
---|---|---|---|
callback | AsyncCallback<boolean> | 是 | 移除任務(wù)的回調(diào)函數(shù)。 |
示例:
- uploadTask.remove((err, result) => {
- if (err) {
- console.error('Failed to remove the upload task. Cause: ' + JSON.stringify(err));
- return;
- }
- if (result) {
- console.info('Upload task removed successfully.');
- } else {
- console.error('Failed to remove the upload task.');
- }
- });
上傳任務(wù)的配置信息。
需要權(quán)限:ohos.permission.INTERNET
系統(tǒng)能力: 以下各項(xiàng)對應(yīng)的系統(tǒng)能力均為SystemCapability.MiscServices.Upload。
名稱 | 類型 | 必填 | 說明 |
---|---|---|---|
url | string | 是 | 資源地址。 |
header | Object | 是 | 添加要包含在上傳請求中的HTTP或HTTPS標(biāo)志頭。 |
method | string | 是 | 請求方法:POST、PUT。缺省為POST。 |
files | Array<File> | 是 | 要上傳的文件列表。請使用 multipart/form-data提交。 |
data | Array<RequestData> | 是 | 請求的表單數(shù)據(jù)。 |
上傳任務(wù)信息,on('complete' | 'fail')和off('complete' | 'fail')接口的回調(diào)參數(shù)。
需要權(quán)限:ohos.permission.INTERNET
系統(tǒng)能力: 以下各項(xiàng)對應(yīng)的系統(tǒng)能力均為SystemCapability.MiscServices.Upload。
名稱 | 類型 | 必填 | 說明 |
---|---|---|---|
path | string | 是 | 文件路徑 |
responseCode | number | 是 | 上傳任務(wù)返回值 |
message | string | 是 | 上傳任務(wù)結(jié)果描述信息 |
UploadConfig中的文件列表。
需要權(quán)限:ohos.permission.INTERNET
系統(tǒng)能力: 以下各項(xiàng)對應(yīng)的系統(tǒng)能力均為SystemCapability.MiscServices.Download。
名稱 | 類型 | 必填 | 說明 |
---|---|---|---|
filename | string | 是 | multipart提交時(shí),請求頭中的文件名。 |
name | string | 是 | multipart提交時(shí),表單項(xiàng)目的名稱,缺省為file。 |
uri | string | 是 | 文件的本地存儲路徑。 僅支持“internal”協(xié)議類型,“internal://cache/”為必填字段,示例: internal://cache/path/to/file.txt |
type | string | 是 | 文件的內(nèi)容類型,默認(rèn)根據(jù)文件名或路徑的后綴獲取。 |
UploadConfig中的表單數(shù)據(jù)。
需要權(quán)限:ohos.permission.INTERNET
系統(tǒng)能力: 以下各項(xiàng)對應(yīng)的系統(tǒng)能力均為SystemCapability.MiscServices.Download。
名稱 | 類型 | 必填 | 說明 |
---|---|---|---|
name | string | 是 | 表示表單元素的名稱。 |
value | string | 是 | 表示表單元素的值。 |
downloadFile(context: BaseContext, config: DownloadConfig): Promise<DownloadTask>
下載,異步方法,使用promise形式返回結(jié)果。通過on('complete'|'pause'|'remove')可獲取任務(wù)下載時(shí)的狀態(tài)信息,包括任務(wù)完成、暫?;蛞瞥?。通過on('fail')可獲取任務(wù)下載時(shí)的錯誤信息。
需要權(quán)限:ohos.permission.INTERNET
系統(tǒng)能力: SystemCapability.MiscServices.Download
參數(shù):
參數(shù)名 | 類型 | 必填 | 說明 |
---|---|---|---|
context | 是 | 基于應(yīng)用程序的上下文。 | |
config | 是 | 下載的配置信息。 |
返回值:
類型 | 說明 |
---|---|
Promise<DownloadTask> | 返回下載任務(wù)。 |
錯誤碼:
以下錯誤碼的詳細(xì)介紹請參見上傳下載錯誤碼。
錯誤碼ID | 錯誤信息 |
---|---|
13400001 | file operation error. |
13400002 | bad file path. |
13400003 | task manager service error. |
示例:
- let downloadTask;
- try {
- request.downloadFile(globalThis.abilityContext, { url: 'https://xxxx/xxxx.hap' }).then((data) => {
- downloadTask = data;
- }).catch((err) => {
- console.error('Failed to request the download. Cause: ' + JSON.stringify(err));
- })
- } catch (err) {
- console.error('err.code : ' + err.code + ', err.message : ' + err.message);
- }
downloadFile(context: BaseContext, config: DownloadConfig, callback: AsyncCallback<DownloadTask>): void;
下載,異步方法,使用callback形式返回結(jié)果。通過on('complete'|'pause'|'remove')可獲取任務(wù)下載時(shí)的狀態(tài)信息,包括任務(wù)完成、暫停或移除。通過on('fail')可獲取任務(wù)下載時(shí)的錯誤信息。
需要權(quán)限:ohos.permission.INTERNET
系統(tǒng)能力: SystemCapability.MiscServices.Download
參數(shù):
參數(shù)名 | 類型 | 必填 | 說明 |
---|---|---|---|
context | 是 | 基于應(yīng)用程序的上下文。 | |
config | 是 | 下載的配置信息。 | |
callback | AsyncCallback<DownloadTask> | 是 | 下載接口的回調(diào)函數(shù)。 |
錯誤碼:
以下錯誤碼的詳細(xì)介紹請參見上傳下載錯誤碼。
錯誤碼ID | 錯誤信息 |
---|---|
13400001 | file operation error. |
13400002 | bad file path. |
13400003 | task manager service error. |
示例:
- let downloadTask;
- try {
- request.downloadFile(globalThis.abilityContext, { url: 'https://xxxx/xxxxx.hap',
- filePath: 'xxx/xxxxx.hap'}, (err, data) => {
- if (err) {
- console.error('Failed to request the download. Cause: ' + JSON.stringify(err));
- return;
- }
- downloadTask = data;
- });
- } catch (err) {
- console.error('err.code : ' + err.code + ', err.message : ' + err.message);
- }
download(config: DownloadConfig): Promise<DownloadTask>
下載,異步方法,使用promise形式返回結(jié)果。
模型約束:此接口僅可在FA模型下使用
需要權(quán)限:ohos.permission.INTERNET
系統(tǒng)能力: SystemCapability.MiscServices.Download
參數(shù):
參數(shù)名 | 類型 | 必填 | 說明 |
---|---|---|---|
config | 是 | 下載的配置信息。 |
返回值:
類型 | 說明 |
---|---|
Promise<DownloadTask> | 返回下載任務(wù)。 |
示例:
- let downloadTask;
- request.download({ url: 'https://xxxx/xxxx.hap' }).then((data) => {
- downloadTask = data;
- }).catch((err) => {
- console.error('Failed to request the download. Cause: ' + JSON.stringify(err));
- })
download(config: DownloadConfig, callback: AsyncCallback<DownloadTask>): void
下載,異步方法,使用callback形式返回結(jié)果。
模型約束:此接口僅可在FA模型下使用
需要權(quán)限:ohos.permission.INTERNET
系統(tǒng)能力: SystemCapability.MiscServices.Download
參數(shù):
參數(shù)名 | 類型 | 必填 | 說明 |
---|---|---|---|
config | 是 | 下載的配置信息。 | |
callback | AsyncCallback<DownloadTask> | 是 | 下載接口的回調(diào)函數(shù)。 |
示例:
- let downloadTask;
- request.download({ url: 'https://xxxx/xxxxx.hap',
- filePath: 'xxx/xxxxx.hap'}, (err, data) => {
- if (err) {
- console.error('Failed to request the download. Cause: ' + JSON.stringify(err));
- return;
- }
- downloadTask = data;
- });
下載任務(wù),使用下列方法前,需要先獲取DownloadTask對象,promise形式通過request.downloadFile9+獲取,callback形式通過request.downloadFile9+獲取。
on(type: 'progress', callback:(receivedSize: number, totalSize: number) => void): void
訂閱下載任務(wù)進(jìn)度監(jiān)聽,同步方法,使用callback形式返回結(jié)果。
需要權(quán)限:ohos.permission.INTERNET
系統(tǒng)能力: SystemCapability.MiscServices.Download
參數(shù):
參數(shù)名 | 類型 | 必填 | 說明 |
---|---|---|---|
type | string | 是 | 訂閱的事件類型,取值為'progress'(下載的進(jìn)度信息)。 |
callback | function | 是 | 下載的回調(diào)函數(shù)。 |
回調(diào)函數(shù)的參數(shù):
參數(shù)名 | 類型 | 必填 | 說明 |
---|---|---|---|
receivedSize | number | 是 | 當(dāng)前下載的進(jìn)度,單位為bit。 |
totalSize | number | 是 | 下載文件的總大小,單位為bit。 |
示例:
- let progresCallback = (receivedSize, totalSize) => {
- console.info("download receivedSize:" + receivedSize + " totalSize:" + totalSize);
- };
- downloadTask.on('progress', progresCallback);
off(type: 'progress', callback?: (receivedSize: number, totalSize: number) => void): void
刪除下載任務(wù)進(jìn)度監(jiān)聽,同步方法。
需要權(quán)限:ohos.permission.INTERNET
系統(tǒng)能力: SystemCapability.MiscServices.Download
參數(shù):
參數(shù)名 | 類型 | 必填 | 說明 |
---|---|---|---|
type | string | 是 | 取消訂閱的事件類型,取值為'progress'(下載的進(jìn)度信息)。 |
callback | function | 否 | 需要刪除的下載任務(wù)進(jìn)度的回調(diào)。 receivedSize:當(dāng)前下載任務(wù)的進(jìn)度,單位為bit。 totalSize:下載文件的總大小,單位為bit。 |
示例:
- let progresCallback = (receivedSize, totalSize) => {
- console.info('Download delete progress notification.' + 'receivedSize:' + receivedSize + 'totalSize:' + totalSize);
- };
- downloadTask .off('progress',progresCallback);
on(type: 'complete'|'pause'|'remove', callback:() => void): void
訂閱下載任務(wù)相關(guān)的監(jiān)聽,異步方法,使用callback形式返回。
需要權(quán)限:ohos.permission.INTERNET
系統(tǒng)能力: SystemCapability.MiscServices.Download
參數(shù):
參數(shù)名 | 類型 | 必填 | 說明 |
---|---|---|---|
type | string | 是 | 訂閱的事件類型。 - 取值為'complete',表示下載任務(wù)完成; - 取值為'pause',表示下載任務(wù)暫停; - 取值為'remove',表示下載任務(wù)移除。 |
callback | function | 是 | 回調(diào)函數(shù)。 |
示例:
- let completeCallback = () => {
- console.info('Download task completed.');
- };
- downloadTask.on('complete', completeCallback);
- let pauseCallback = () => {
- console.info('Download task pause.');
- };
- downloadTask.on('pause', pauseCallback);
- let removeCallback = () => {
- console.info('Download task remove.');
- };
- downloadTask.on('remove', removeCallback);
off(type: 'complete'|'pause'|'remove', callback?:() => void): void
刪除下載任務(wù)相關(guān)的監(jiān)聽,同步方法。
需要權(quán)限:ohos.permission.INTERNET
系統(tǒng)能力: SystemCapability.MiscServices.Download
參數(shù):
參數(shù)名 | 類型 | 必填 | 說明 |
---|---|---|---|
type | string | 是 | 取消訂閱的事件類型。 - 取值為'complete',表示下載任務(wù)完成; - 取值為'pause',表示下載任務(wù)暫停; - 取值為'remove',表示下載任務(wù)移除。 |
callback | function | 否 | 回調(diào)函數(shù)。 |
示例:
- let completeCallback = () => {
- console.info('Download delete complete notification.');
- };
- downloadTask.off('complete', completeCallback);
- let pauseCallback = () => {
- console.info('Download delete pause notification.');
- };
- downloadTask.off('pause', pauseCallback);
- let removeCallback = () => {
- console.info('Download delete remove notification.');
- };
- downloadTask.off('remove', removeCallback);
on(type: 'fail', callback: (err: number) => void): void
訂閱下載任務(wù)失敗監(jiān)聽,同步方法,使用callback形式返回結(jié)果。
需要權(quán)限:ohos.permission.INTERNET
系統(tǒng)能力: SystemCapability.MiscServices.Download
參數(shù):
參數(shù)名 | 類型 | 必填 | 說明 |
---|---|---|---|
type | string | 是 | 訂閱的事件類型,取值為'fail'(下載失?。?。 |
callback | function | 是 | 下載失敗的回調(diào)函數(shù)。 |
回調(diào)函數(shù)的參數(shù):
參數(shù)名 | 類型 | 必填 | 說明 |
---|---|---|---|
err | number | 是 | 下載失敗的錯誤碼,錯誤原因見下載任務(wù)的錯誤碼。 |
示例:
- let failCallback = (err) => {
- console.info('Download task failed. Cause:' + err);
- };
- downloadTask.on('fail', failCallback);
off(type: 'fail', callback?: (err: number) => void): void
刪除下載任務(wù)失敗監(jiān)聽,同步方法。
需要權(quán)限:ohos.permission.INTERNET
系統(tǒng)能力: SystemCapability.MiscServices.Download
參數(shù):
參數(shù)名 | 類型 | 必填 | 說明 |
---|---|---|---|
type | string | 是 | 取消訂閱的事件類型,取值為'fail'(下載失敗)。 |
callback | function | 否 | 需要刪除的下載失敗的回調(diào)函數(shù)。 err:下載失敗的錯誤碼。 |
示例:
- let failCallback = (err) => {
- console.info(`Download delete fail notification. err: ${err.message}`);
- };
- downloadTask.off('fail', failCallback);
delete(): Promise<boolean>
移除下載的任務(wù),異步方法,使用promise形式返回結(jié)果。
需要權(quán)限:ohos.permission.INTERNET
系統(tǒng)能力: SystemCapability.MiscServices.Download
返回值:
類型 | 說明 |
---|---|
Promise<boolean> | 移除任務(wù)是否成功。 |
示例:
- downloadTask.delete().then((result) => {
- if (result) {
- console.info('Download task removed.');
- } else {
- console.error('Failed to remove the download task.');
- }
- }).catch ((err) => {
- console.error('Failed to remove the download task.');
- });
delete(callback: AsyncCallback<boolean>): void
移除下載的任務(wù),異步方法,使用callback形式返回結(jié)果。
需要權(quán)限:ohos.permission.INTERNET
系統(tǒng)能力: SystemCapability.MiscServices.Download
參數(shù):
參數(shù)名 | 類型 | 必填 | 說明 |
---|---|---|---|
callback | AsyncCallback<boolean> | 是 | 移除任務(wù)是否成功。 |
示例:
- downloadTask.delete((err, result)=>{
- if(err) {
- console.error('Failed to remove the download task.');
- return;
- }
- if (result) {
- console.info('Download task removed.');
- } else {
- console.error('Failed to remove the download task.');
- }
- });
getTaskInfo(): Promise<DownloadInfo>
查詢下載任務(wù),異步方法,使用promise形式返回DownloadInfo里的信息。
需要權(quán)限:ohos.permission.INTERNET
系統(tǒng)能力: SystemCapability.MiscServices.Download
返回值:
類型 | 說明 |
---|---|
Promise<DownloadInfo> | 查詢下載任務(wù)信息。 |
示例:
- downloadTask.getTaskInfo().then((downloadInfo) => {
- console.info('Download task queried. Data:' + JSON.stringify(downloadInfo))
- }) .catch((err) => {
- console.error('Failed to query the download task. Cause:' + err)
- });
getTaskInfo(callback: AsyncCallback<DownloadInfo>): void
查詢下載的任務(wù),異步方法,使用callback形式返回結(jié)果。
需要權(quán)限:ohos.permission.INTERNET
系統(tǒng)能力: SystemCapability.MiscServices.Download
參數(shù):
參數(shù)名 | 類型 | 必填 | 說明 |
---|---|---|---|
callback | AsyncCallback<DownloadInfo> | 是 | 查詢下載任務(wù)的回調(diào)函數(shù)。 |
示例:
- downloadTask.getTaskInfo((err, downloadInfo)=>{
- if(err) {
- console.error('Failed to query the download mimeType. Cause:' + JSON.stringify(err));
- } else {
- console.info('download query success. data:'+ JSON.stringify(downloadInfo));
- }
- });
getTaskMimeType(): Promise<string>
查詢下載的任務(wù)的 MimeType,異步方法,使用promise形式返回結(jié)果。
需要權(quán)限:ohos.permission.INTERNET
系統(tǒng)能力: SystemCapability.MiscServices.Download
返回值:
類型 | 說明 |
---|---|
Promise<string> | 查詢下載任務(wù)的MimeType。 |
示例:
- downloadTask.getTaskMimeType().then((data) => {
- console.info('Download task queried. Data:' + JSON.stringify(data));
- }).catch((err) => {
- console.error('Failed to query the download MimeType. Cause:' + JSON.stringify(err))
- });
getTaskMimeType(callback: AsyncCallback<string>): void;
查詢下載的任務(wù)的 MimeType,異步方法,使用callback形式返回結(jié)果。
需要權(quán)限:ohos.permission.INTERNET
系統(tǒng)能力: SystemCapability.MiscServices.Download
參數(shù):
參數(shù)名 | 類型 | 必填 | 說明 |
---|---|---|---|
callback | AsyncCallback<string> | 是 | 查詢下載任務(wù)的MimeType的回調(diào)函數(shù)。 |
示例:
- downloadTask.getTaskMimeType((err, data)=>{
- if(err) {
- console.error('Failed to query the download mimeType. Cause:' + JSON.stringify(err));
- } else {
- console.info('Download task queried. data:' + JSON.stringify(data));
- }
- });
suspend(): Promise<boolean>
暫停下載任務(wù),異步方法,使用promise形式返回結(jié)果。
需要權(quán)限:ohos.permission.INTERNET
系統(tǒng)能力: SystemCapability.MiscServices.Download
返回值:
類型 | 說明 |
---|---|
Promise<boolean> | 暫停下載任務(wù)是否成功。 |
示例:
- downloadTask.suspend().then((result) => {
- if (result) {
- console.info('Download task paused. ');
- } else {
- console.error('Failed to pause the download task. Cause:' + JSON.stringify(result));
- }
- }).catch((err) => {
- console.error('Failed to pause the download task. Cause:' + JSON.stringify(err));
- });
suspend(callback: AsyncCallback<boolean>): void
暫停下載任務(wù),異步方法,使用callback形式返回結(jié)果。
需要權(quán)限:ohos.permission.INTERNET
系統(tǒng)能力: SystemCapability.MiscServices.Download
參數(shù):
參數(shù)名 | 類型 | 必填 | 說明 |
---|---|---|---|
callback | AsyncCallback<boolean> | 是 | 暫停下載任務(wù)的回調(diào)函數(shù)。 |
示例:
- downloadTask.suspend((err, result)=>{
- if(err) {
- console.error('Failed to pause the download task. Cause:' + JSON.stringify(err));
- return;
- }
- if (result) {
- console.info('Download task paused. ');
- } else {
- console.error('Failed to pause the download task. Cause:' + JSON.stringify(result));
- }
- });
restore(): Promise<boolean>
重新啟動暫停的下載任務(wù),異步方法,使用promise形式返回結(jié)果。
需要權(quán)限:ohos.permission.INTERNET
系統(tǒng)能力: SystemCapability.MiscServices.Download
返回值:
類型 | 說明 |
---|---|
Promise<boolean> | 重新啟動暫停的下載任務(wù)是否成功。 |
示例:
- downloadTask.restore().then((result) => {
- if (result) {
- console.info('Download task resumed.')
- } else {
- console.error('Failed to resume the download task. ');
- }
- console.info('Download task resumed.')
- }).catch((err) => {
- console.error('Failed to resume the download task. Cause:' + err);
- });
restore(callback: AsyncCallback<boolean>): void
重新啟動暫停的下載任務(wù),異步方法,使用callback形式返回結(jié)果。
需要權(quán)限:ohos.permission.INTERNET
系統(tǒng)能力: SystemCapability.MiscServices.Download
參數(shù):
參數(shù)名 | 類型 | 必填 | 說明 |
---|---|---|---|
callback | AsyncCallback<boolean> | 是 | 重新啟動暫停的下載任務(wù)的回調(diào)函數(shù)。 |
示例:
- downloadTask.restore((err, result)=>{
- if (err) {
- console.error('Failed to resume the download task. Cause:' + err);
- return;
- }
- if (result) {
- console.info('Download task resumed.');
- } else {
- console.error('Failed to resume the download task.');
- }
- });
remove(): Promise<boolean>
移除下載的任務(wù),異步方法,使用promise形式返回結(jié)果。
需要權(quán)限:ohos.permission.INTERNET
系統(tǒng)能力: SystemCapability.MiscServices.Download
返回值:
類型 | 說明 |
---|---|
Promise<boolean> | 移除任務(wù)是否成功。 |
示例:
- downloadTask.remove().then((result) => {
- if (result) {
- console.info('Download task removed.');
- } else {
- console.error('Failed to remove the download task.');
- }
- }).catch ((err) => {
- console.error('Failed to remove the download task.');
- });
remove(callback: AsyncCallback<boolean>): void
移除下載的任務(wù),異步方法,使用callback形式返回結(jié)果。
需要權(quán)限:ohos.permission.INTERNET
系統(tǒng)能力: SystemCapability.MiscServices.Download
參數(shù):
參數(shù)名 | 類型 | 必填 | 說明 |
---|---|---|---|
callback | AsyncCallback<boolean> | 是 | 移除任務(wù)是否成功。 |
示例:
- downloadTask.remove((err, result)=>{
- if(err) {
- console.error('Failed to remove the download task.');
- return;
- }
- if (result) {
- console.info('Download task removed.');
- } else {
- console.error('Failed to remove the download task.');
- }
- });
query(): Promise<DownloadInfo>
查詢下載任務(wù),異步方法,使用promise形式返回DownloadInfo里的信息。
需要權(quán)限:ohos.permission.INTERNET
系統(tǒng)能力: SystemCapability.MiscServices.Download
返回值:
類型 | 說明 |
---|---|
Promise<DownloadInfo> | 查詢下載任務(wù)信息。 |
示例:
- downloadTask.query().then((downloadInfo) => {
- console.info('Download task queried. Data:' + JSON.stringify(downloadInfo))
- }) .catch((err) => {
- console.error('Failed to query the download task. Cause:' + err)
- });
query(callback: AsyncCallback<DownloadInfo>): void
查詢下載的任務(wù),異步方法,使用callback形式返回結(jié)果。
需要權(quán)限:ohos.permission.INTERNET
系統(tǒng)能力: SystemCapability.MiscServices.Download
參數(shù):
參數(shù)名 | 類型 | 必填 | 說明 |
---|---|---|---|
callback | AsyncCallback<DownloadInfo> | 是 | 查詢下載任務(wù)的回調(diào)函數(shù)。 |
示例:
- downloadTask.query((err, downloadInfo)=>{
- if(err) {
- console.error('Failed to query the download mimeType. Cause:' + JSON.stringify(err));
- } else {
- console.info('download query success. data:'+ JSON.stringify(downloadInfo));
- }
- });
queryMimeType(): Promise<string>
查詢下載的任務(wù)的 MimeType,異步方法,使用promise形式返回結(jié)果。
需要權(quán)限:ohos.permission.INTERNET
系統(tǒng)能力: SystemCapability.MiscServices.Download
返回值:
類型 | 說明 |
---|---|
Promise<string> | 查詢下載任務(wù)的MimeType。 |
示例:
- downloadTask.queryMimeType().then((data) => {
- console.info('Download task queried. Data:' + JSON.stringify(data));
- }).catch((err) => {
- console.error('Failed to query the download MimeType. Cause:' + JSON.stringify(err))
- });
queryMimeType(callback: AsyncCallback<string>): void;
查詢下載的任務(wù)的 MimeType,異步方法,使用callback形式返回結(jié)果。
需要權(quán)限:ohos.permission.INTERNET
系統(tǒng)能力: SystemCapability.MiscServices.Download
參數(shù):
參數(shù)名 | 類型 | 必填 | 說明 |
---|---|---|---|
callback | AsyncCallback<string> | 是 | 查詢下載任務(wù)的MimeType的回調(diào)函數(shù)。 |
示例:
- downloadTask.queryMimeType((err, data)=>{
- if(err) {
- console.error('Failed to query the download mimeType. Cause:' + JSON.stringify(err));
- } else {
- console.info('Download task queried. data:' + JSON.stringify(data));
- }
- });
pause(): Promise<void>
暫停下載任務(wù),異步方法,使用promise形式返回結(jié)果。
需要權(quán)限:ohos.permission.INTERNET
系統(tǒng)能力: SystemCapability.MiscServices.Download
返回值:
類型 | 說明 |
---|---|
Promise<void> | 暫停下載任務(wù)是否成功。 |
示例:
- downloadTask.pause().then((result) => {
- if (result) {
- console.info('Download task paused. ');
- } else {
- console.error('Failed to pause the download task. Cause:' + JSON.stringify(result));
- }
- }).catch((err) => {
- console.error('Failed to pause the download task. Cause:' + JSON.stringify(err));
- });
pause(callback: AsyncCallback<void>): void
暫停下載任務(wù),異步方法,使用callback形式返回結(jié)果。
需要權(quán)限:ohos.permission.INTERNET
系統(tǒng)能力: SystemCapability.MiscServices.Download
參數(shù):
參數(shù)名 | 類型 | 必填 | 說明 |
---|---|---|---|
callback | AsyncCallback<void> | 是 | 暫停下載任務(wù)的回調(diào)函數(shù)。 |
示例:
- downloadTask.pause((err, result)=>{
- if(err) {
- console.error('Failed to pause the download task. Cause:' + JSON.stringify(err));
- return;
- }
- if (result) {
- console.info('Download task paused. ');
- } else {
- console.error('Failed to pause the download task. Cause:' + JSON.stringify(result));
- }
- });
resume(): Promise<void>
重新啟動暫停的下載任務(wù),異步方法,使用promise形式返回結(jié)果。
需要權(quán)限:ohos.permission.INTERNET
系統(tǒng)能力: SystemCapability.MiscServices.Download
返回值:
類型 | 說明 |
---|---|
Promise<void> | 重新啟動暫停的下載任務(wù)是否成功。 |
示例:
- downloadTask.resume().then((result) => {
- if (result) {
- console.info('Download task resumed.')
- } else {
- console.error('Failed to resume the download task. ');
- }
- console.info('Download task resumed.')
- }).catch((err) => {
- console.error('Failed to resume the download task. Cause:' + err);
- });
resume(callback: AsyncCallback<void>): void
重新啟動暫停的下載任務(wù),異步方法,使用callback形式返回結(jié)果。
需要權(quán)限:ohos.permission.INTERNET
系統(tǒng)能力: SystemCapability.MiscServices.Download
參數(shù):
參數(shù)名 | 類型 | 必填 | 說明 |
---|---|---|---|
callback | AsyncCallback<void> | 是 | 重新啟動暫停的下載任務(wù)的回調(diào)函數(shù)。 |
示例:
- downloadTask.resume((err, result)=>{
- if (err) {
- console.error('Failed to resume the download task. Cause:' + err);
- return;
- }
- if (result) {
- console.info('Download task resumed.');
- } else {
- console.error('Failed to resume the download task.');
- }
- });
下載任務(wù)的配置信息。
需要權(quán)限:ohos.permission.INTERNET
系統(tǒng)能力: SystemCapability.MiscServices.Download
名稱 | 類型 | 必填 | 說明 |
---|---|---|---|
url | string | 是 | 資源地址。 |
header | Object | 否 | 添加要包含在下載請求中的HTTPS標(biāo)志頭。 開發(fā)者可以通過header的X-TLS-Version參數(shù)指定需要使用的TLS版本(如果不指定,則默認(rèn)使用CURL_SSLVERSION_TLSv1_2版本,指定則使用指定版本。) CURL_SSLVERSION_TLSv1_0 CURL_SSLVERSION_TLSv1_1 CURL_SSLVERSION_TLSv1_2 CURL_SSLVERSION_TLSv1_3 通過header的X-Cipher-List參數(shù)指定需要使用的密碼套件(如果不指定,則默認(rèn)使用安全密碼套件,指定則使用指定密碼套件。) -1.2允許使用的密碼套件白名單: TLS_DHE_RSA_WITH_AES_128_GCM_SHA256,TLS_DHE_RSA_WITH_AES_256_GCM_SHA384, TLS_DHE_DSS_WITH_AES_128_GCM_SHA256,TLS_DSS_RSA_WITH_AES_256_GCM_SHA384, TLS_PSK_WITH_AES_256_GCM_SHA384,TLS_DHE_PSK_WITH_AES_128_GCM_SHA256, TLS_DHE_PSK_WITH_AES_256_GCM_SHA384,TLS_DHE_PSK_WITH_CHACHA20_POLY1305_SHA256, TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384, TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384, TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256,TLS_ECDHE_PSK_WITH_CHACHA20_POLY1305_SHA256, TLS_ECDHE_PSK_WITH_AES_128_GCM_SHA256,TLS_ECDHE_PSK_WITH_AES_256_GCM_SHA384, TLS_ECDHE_PSK_WITH_AES_128_GCM_SHA256,TLS_DHE_RSA_WITH_AES_128_CCM, TLS_DHE_RSA_WITH_AES_256_CCM,TLS_DHE_RSA_WITH_CHACHA20_POLY1305_SHA256, TLS_PSK_WITH_AES_256_CCM,TLS_DHE_PSK_WITH_AES_128_CCM, TLS_DHE_PSK_WITH_AES_256_CCM,TLS_ECDHE_ECDSA_WITH_AES_128_CCM, TLS_ECDHE_ECDSA_WITH_AES_256_CCM,TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256 -1.3允許使用的密碼套件白名單: TLS_AES_128_GCM_SHA256,TLS_AES_256_GCM_SHA384,TLS_CHACHA20_POLY1305_SHA256,TLS_AES_128_CCM_SHA256 -1.3新增國密算法套: TLS_SM4_GCM_SM3,TLS_SM4_CCM_SM3 |
enableMetered | boolean | 否 | 設(shè)置是否允許在按流量計(jì)費(fèi)的連接下下載(默認(rèn)使用false)。Wi-Fi為非計(jì)費(fèi)網(wǎng)絡(luò),數(shù)據(jù)流量為計(jì)費(fèi)網(wǎng)絡(luò)。 - true:是 - false:否 |
enableRoaming | boolean | 否 | 設(shè)置是否允許在漫游網(wǎng)絡(luò)中下載(默認(rèn)使用false)。 - true:是 - false:否 |
description | string | 否 | 設(shè)置下載會話的描述。 |
filePath7+ | string | 否 | 設(shè)置下載路徑。 - FA模型下使用context 獲取應(yīng)用存儲路徑,比如:'${featureAbility.getContext().getFilesDir()}/test.txt',并將文件存儲在此路徑下。 - Stage模型下使用AbilityContext 類獲取文件路徑,比如:'${globalThis.abilityContext.tempDir}/test.txt'并將文件存儲在此路徑下。 |
networkType | number | 否 | 設(shè)置允許下載的網(wǎng)絡(luò)類型(默認(rèn)使用NETWORK_MOBILE&NETWORK_WIFI,網(wǎng)絡(luò)正常連接即可下載)。 - NETWORK_MOBILE:0x00000001 - NETWORK_WIFI:0x00010000 |
title | string | 否 | 設(shè)置下載任務(wù)名稱。 |
background9+ | boolean | 否 | 后臺任務(wù)通知開關(guān),開啟后可在通知中顯示下載狀態(tài)(默認(rèn)使用false)。 |
下載任務(wù)信息, getTaskInfo9+接口的回調(diào)參數(shù)。
需要權(quán)限:ohos.permission.INTERNET
系統(tǒng)能力: SystemCapability.MiscServices.Download
名稱 | 類型 | 必填 | 說明 |
---|---|---|---|
downloadId | number | 是 | 下載的文件ID。 |
failedReason | number | 是 | 下載失敗原因,可以是任何下載任務(wù)的錯誤碼常量。 |
fileName | string | 是 | 下載的文件名。 |
filePath | string | 是 | 存儲文件的URI。 |
pausedReason | number | 是 | 會話暫停的原因,可以是任何下載任務(wù)暫停原因常量。 |
status | number | 是 | 下載狀態(tài)碼,可以是任何下載任務(wù)狀態(tài)碼常量。 |
targetURI | string | 是 | 下載文件的URI。 |
downloadTitle | string | 是 | 下載任務(wù)名稱。 |
downloadTotalBytes | number | 是 | 下載的文件的總大小(int bytes)。 |
description | string | 是 | 待下載文件的描述信息。 |
downloadedBytes | number | 是 | 實(shí)時(shí)下載大?。╥nt bytes)。 |
更多建議: