上傳下載

2024-01-23 16:44 更新

request部件主要給應(yīng)用提供上傳下載文件、后臺傳輸代理的基礎(chǔ)能力。

說明

本模塊首批接口從API version 6開始支持。后續(xù)版本的新增接口,采用上角標(biāo)單獨(dú)標(biāo)記接口的起始版本。

導(dǎo)入模塊

  1. import request from '@ohos.request';

常量

需要權(quán)限:ohos.permission.INTERNET

系統(tǒng)能力: 以下各項(xiàng)對應(yīng)的系統(tǒng)能力均為SystemCapability.MiscServices.Download。

網(wǎng)絡(luò)類型

下載支持自定義網(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)志。

下載任務(wù)的錯誤碼

下載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ò)類型不匹配。

下載任務(wù)暫停原因

下載相關(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。

下載任務(wù)狀態(tài)碼

下載相關(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

下載會話已失敗,將不會重試。

request.uploadFile9+

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

BaseContext

基于應(yīng)用程序的上下文。

config

UploadConfig

上傳的配置信息。

返回值:

類型

說明

Promise<UploadTask>

返回上傳任務(wù)。

錯誤碼:

以下錯誤碼的詳細(xì)介紹請參見上傳下載錯誤碼。

錯誤碼ID

錯誤信息

13400002

bad file path.

示例:

  1. let uploadTask;
  2. let uploadConfig = {
  3. url: 'http://www.example.com', //需要手動替換為真實(shí)服務(wù)器地址
  4. header: { 'Accept': '*/*' },
  5. method: "POST",
  6. files: [{ filename: "test", name: "test", uri: "internal://cache/test.jpg", type: "jpg" }],
  7. data: [{ name: "name123", value: "123" }],
  8. };
  9. try {
  10. request.uploadFile(globalThis.abilityContext, uploadConfig).then((data) => {
  11. uploadTask = data;
  12. }).catch((err) => {
  13. console.error('Failed to request the upload. Cause: ' + JSON.stringify(err));
  14. });
  15. } catch (err) {
  16. console.error('err.code : ' + err.code + ', err.message : ' + err.message);
  17. }

request.uploadFile9+

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

BaseContext

基于應(yīng)用程序的上下文。

config

UploadConfig

上傳的配置信息。

callback

AsyncCallback<UploadTask>

回調(diào)函數(shù),異步返回UploadTask對象。

錯誤碼:

以下錯誤碼的詳細(xì)介紹請參見上傳下載錯誤碼。

錯誤碼ID

錯誤信息

13400002

bad file path.

示例:

  1. let uploadTask;
  2. let uploadConfig = {
  3. url: 'http://www.example.com', //需要手動替換為真實(shí)服務(wù)器地址
  4. header: { 'Accept': '*/*' },
  5. method: "POST",
  6. files: [{ filename: "test", name: "test", uri: "internal://cache/test.jpg", type: "jpg" }],
  7. data: [{ name: "name123", value: "123" }],
  8. };
  9. try {
  10. request.uploadFile(globalThis.abilityContext, uploadConfig, (err, data) => {
  11. if (err) {
  12. console.error('Failed to request the upload. Cause: ' + JSON.stringify(err));
  13. return;
  14. }
  15. uploadTask = data;
  16. });
  17. } catch (err) {
  18. console.error('err.code : ' + err.code + ', err.message : ' + err.message);
  19. }

request.upload(deprecated)

upload(config: UploadConfig): Promise<UploadTask>

上傳,異步方法,使用promise形式返回結(jié)果。

模型約束:此接口僅可在FA模型下使用

說明

需要權(quán)限:ohos.permission.INTERNET

系統(tǒng)能力: SystemCapability.MiscServices.Upload

參數(shù):

參數(shù)名

類型

必填

說明

config

UploadConfig

上傳的配置信息。

返回值:

類型

說明

Promise<UploadTask>

返回上傳任務(wù)。

示例:

  1. let uploadTask;
  2. let uploadConfig = {
  3. url: 'http://www.example.com', //需要手動替換為真實(shí)服務(wù)器地址
  4. header: { 'Accept': '*/*' },
  5. method: "POST",
  6. files: [{ filename: "test", name: "test", uri: "internal://cache/test.jpg", type: "jpg" }],
  7. data: [{ name: "name123", value: "123" }],
  8. };
  9. request.upload(uploadConfig).then((data) => {
  10. uploadTask = data;
  11. }).catch((err) => {
  12. console.error('Failed to request the upload. Cause: ' + JSON.stringify(err));
  13. })

request.upload(deprecated)

upload(config: UploadConfig, callback: AsyncCallback<UploadTask>): void

上傳,異步方法,使用callback形式返回結(jié)果。

模型約束:此接口僅可在FA模型下使用

說明

需要權(quán)限:ohos.permission.INTERNET

系統(tǒng)能力: SystemCapability.MiscServices.Upload

參數(shù):

參數(shù)名

類型

必填

說明

config

UploadConfig

上傳的配置信息。

callback

AsyncCallback<UploadTask>

回調(diào)函數(shù),異步返回UploadTask對象。

示例:

  1. let uploadTask;
  2. let uploadConfig = {
  3. url: 'http://www.example.com', //需要手動替換為真實(shí)服務(wù)器地址
  4. header: { 'Accept': '*/*' },
  5. method: "POST",
  6. files: [{ filename: "test", name: "test", uri: "internal://cache/test.jpg", type: "jpg" }],
  7. data: [{ name: "name123", value: "123" }],
  8. };
  9. request.upload(uploadConfig, (err, data) => {
  10. if (err) {
  11. console.error('Failed to request the upload. Cause: ' + JSON.stringify(err));
  12. return;
  13. }
  14. uploadTask = data;
  15. });

UploadTask

上傳任務(wù),使用下列方法前,需要先獲取UploadTask對象。

on('progress')

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。

示例:

  1. let upProgressCallback = (uploadedSize, totalSize) => {
  2. console.info("upload totalSize:" + totalSize + " uploadedSize:" + uploadedSize);
  3. };
  4. uploadTask.on('progress', upProgressCallback);

on('headerReceive')7+

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。

示例:

  1. let headerCallback = (headers) => {
  2. console.info("upOnHeader headers:" + JSON.stringify(headers)
  3. );
  4. uploadTask.on('headerReceive', headerCallback);

on('complete' | 'fail')9+

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é)果。

示例:

  1. let upCompleteCallback = (taskStates) => {
  2. for (let i = 0; i < taskStates.length; i++ ) {
  3. console.info("upOnComplete taskState:" + JSON.stringify(taskStates[i]));
  4. }
  5. };
  6. uploadTask.on('complete', upCompleteCallback);
  7. let upFailCallback = (taskStates) => {
  8. for (let i = 0; i < taskStates.length; i++ ) {
  9. console.info("upOnFail taskState:" + JSON.stringify(taskStates[i]));
  10. }
  11. };
  12. uploadTask.on('fail', upFailCallback);

off('progress')

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。

示例:

  1. let upProgressCallback = (uploadedSize, totalSize) => {
  2. console.info('Upload delete progress notification.' + 'totalSize:' + totalSize + 'uploadedSize:' + uploadedSize);
  3. };
  4. uploadTask.off('progress', upProgressCallback);

off('headerReceive')7+

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。

示例:

  1. let headerCallback = (header) => {
  2. console.info(`Upload delete headerReceive notification. header: ${JSON.stringify(header)}`);
  3. };
  4. uploadTask.off('headerReceive', headerCallback);

off('complete' | 'fail')9+

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é)果。

示例:

  1. let upCompleteCallback = (taskStates) => {
  2. console.info('Upload delete complete notification.');
  3. for (let i = 0; i < taskStates.length; i++ ) {
  4. console.info('taskState:' + JSON.stringify(taskStates[i]));
  5. }
  6. };
  7. uploadTask.off('complete', upCompleteCallback);
  8. let upFailCallback = (taskStates) => {
  9. console.info('Upload delete fail notification.');
  10. for (let i = 0; i < taskStates.length; i++ ) {
  11. console.info('taskState:' + JSON.stringify(taskStates[i]));
  12. }
  13. };
  14. uploadTask.off('fail', upFailCallback);

delete9+

delete(): Promise<boolean>

移除上傳的任務(wù),異步方法,使用promise形式返回結(jié)果。

需要權(quán)限:ohos.permission.INTERNET

系統(tǒng)能力: SystemCapability.MiscServices.Upload

返回值:

類型

說明

Promise<boolean>

移除任務(wù)是否成功。true:成功,false:不成功。

示例:

  1. uploadTask.delete().then((result) => {
  2. if (result) {
  3. console.info('Upload task removed successfully. ');
  4. } else {
  5. console.error('Failed to remove the upload task. ');
  6. }
  7. }).catch((err) => {
  8. console.error('Failed to remove the upload task. Cause: ' + JSON.stringify(err));
  9. });

delete9+

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ù)。

示例:

  1. uploadTask.delete((err, result) => {
  2. if (err) {
  3. console.error('Failed to remove the upload task. Cause: ' + JSON.stringify(err));
  4. return;
  5. }
  6. if (result) {
  7. console.info('Upload task removed successfully.');
  8. } else {
  9. console.error('Failed to remove the upload task.');
  10. }
  11. });

remove(deprecated)

remove(): Promise<boolean>

移除上傳的任務(wù),異步方法,使用promise形式返回結(jié)果。

說明

需要權(quán)限:ohos.permission.INTERNET

系統(tǒng)能力: SystemCapability.MiscServices.Upload

返回值:

類型

說明

Promise<boolean>

移除任務(wù)是否成功。true:成功,false:不成功。

示例:

  1. uploadTask.remove().then((result) => {
  2. if (result) {
  3. console.info('Upload task removed successfully. ');
  4. } else {
  5. console.error('Failed to remove the upload task. ');
  6. }
  7. }).catch((err) => {
  8. console.error('Failed to remove the upload task. Cause: ' + JSON.stringify(err));
  9. });

remove(deprecated)

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ù)。

示例:

  1. uploadTask.remove((err, result) => {
  2. if (err) {
  3. console.error('Failed to remove the upload task. Cause: ' + JSON.stringify(err));
  4. return;
  5. }
  6. if (result) {
  7. console.info('Upload task removed successfully.');
  8. } else {
  9. console.error('Failed to remove the upload task.');
  10. }
  11. });

UploadConfig

上傳任務(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ù)。

TaskState9+

上傳任務(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é)果描述信息

File

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ù)文件名或路徑的后綴獲取。

RequestData

UploadConfig中的表單數(shù)據(jù)。

需要權(quán)限:ohos.permission.INTERNET

系統(tǒng)能力: 以下各項(xiàng)對應(yīng)的系統(tǒng)能力均為SystemCapability.MiscServices.Download。

名稱

類型

必填

說明

name

string

表示表單元素的名稱。

value

string

表示表單元素的值。

request.downloadFile9+

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

BaseContext

基于應(yīng)用程序的上下文。

config

DownloadConfig

下載的配置信息。

返回值:

類型

說明

Promise<DownloadTask>

返回下載任務(wù)。

錯誤碼:

以下錯誤碼的詳細(xì)介紹請參見上傳下載錯誤碼

錯誤碼ID

錯誤信息

13400001

file operation error.

13400002

bad file path.

13400003

task manager service error.

示例:

  1. let downloadTask;
  2. try {
  3. request.downloadFile(globalThis.abilityContext, { url: 'https://xxxx/xxxx.hap' }).then((data) => {
  4. downloadTask = data;
  5. }).catch((err) => {
  6. console.error('Failed to request the download. Cause: ' + JSON.stringify(err));
  7. })
  8. } catch (err) {
  9. console.error('err.code : ' + err.code + ', err.message : ' + err.message);
  10. }

request.downloadFile9+

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

BaseContext

基于應(yīng)用程序的上下文。

config

DownloadConfig

下載的配置信息。

callback

AsyncCallback<DownloadTask>

下載接口的回調(diào)函數(shù)。

錯誤碼:

以下錯誤碼的詳細(xì)介紹請參見上傳下載錯誤碼

錯誤碼ID

錯誤信息

13400001

file operation error.

13400002

bad file path.

13400003

task manager service error.

示例:

  1. let downloadTask;
  2. try {
  3. request.downloadFile(globalThis.abilityContext, { url: 'https://xxxx/xxxxx.hap',
  4. filePath: 'xxx/xxxxx.hap'}, (err, data) => {
  5. if (err) {
  6. console.error('Failed to request the download. Cause: ' + JSON.stringify(err));
  7. return;
  8. }
  9. downloadTask = data;
  10. });
  11. } catch (err) {
  12. console.error('err.code : ' + err.code + ', err.message : ' + err.message);
  13. }

request.download(deprecated)

download(config: DownloadConfig): Promise<DownloadTask>

下載,異步方法,使用promise形式返回結(jié)果。

說明

模型約束:此接口僅可在FA模型下使用

需要權(quán)限:ohos.permission.INTERNET

系統(tǒng)能力: SystemCapability.MiscServices.Download

參數(shù):

參數(shù)名

類型

必填

說明

config

DownloadConfig

下載的配置信息。

返回值:

類型

說明

Promise<DownloadTask>

返回下載任務(wù)。

示例:

  1. let downloadTask;
  2. request.download({ url: 'https://xxxx/xxxx.hap' }).then((data) => {
  3. downloadTask = data;
  4. }).catch((err) => {
  5. console.error('Failed to request the download. Cause: ' + JSON.stringify(err));
  6. })

request.download(deprecated)

download(config: DownloadConfig, callback: AsyncCallback<DownloadTask>): void

下載,異步方法,使用callback形式返回結(jié)果。

說明

模型約束:此接口僅可在FA模型下使用

需要權(quán)限:ohos.permission.INTERNET

系統(tǒng)能力: SystemCapability.MiscServices.Download

參數(shù):

參數(shù)名

類型

必填

說明

config

DownloadConfig

下載的配置信息。

callback

AsyncCallback<DownloadTask>

下載接口的回調(diào)函數(shù)。

示例:

  1. let downloadTask;
  2. request.download({ url: 'https://xxxx/xxxxx.hap',
  3. filePath: 'xxx/xxxxx.hap'}, (err, data) => {
  4. if (err) {
  5. console.error('Failed to request the download. Cause: ' + JSON.stringify(err));
  6. return;
  7. }
  8. downloadTask = data;
  9. });

DownloadTask

下載任務(wù),使用下列方法前,需要先獲取DownloadTask對象,promise形式通過request.downloadFile9+獲取,callback形式通過request.downloadFile9+獲取。

on('progress')

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。

示例:

  1. let progresCallback = (receivedSize, totalSize) => {
  2. console.info("download receivedSize:" + receivedSize + " totalSize:" + totalSize);
  3. };
  4. downloadTask.on('progress', progresCallback);

off('progress')

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。

示例:

  1. let progresCallback = (receivedSize, totalSize) => {
  2. console.info('Download delete progress notification.' + 'receivedSize:' + receivedSize + 'totalSize:' + totalSize);
  3. };
  4. downloadTask .off('progress',progresCallback);

on('complete'|'pause'|'remove')7+

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ù)。

示例:

  1. let completeCallback = () => {
  2. console.info('Download task completed.');
  3. };
  4. downloadTask.on('complete', completeCallback);
  5. let pauseCallback = () => {
  6. console.info('Download task pause.');
  7. };
  8. downloadTask.on('pause', pauseCallback);
  9. let removeCallback = () => {
  10. console.info('Download task remove.');
  11. };
  12. downloadTask.on('remove', removeCallback);

off('complete'|'pause'|'remove')7+

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ù)。

示例:

  1. let completeCallback = () => {
  2. console.info('Download delete complete notification.');
  3. };
  4. downloadTask.off('complete', completeCallback);
  5. let pauseCallback = () => {
  6. console.info('Download delete pause notification.');
  7. };
  8. downloadTask.off('pause', pauseCallback);
  9. let removeCallback = () => {
  10. console.info('Download delete remove notification.');
  11. };
  12. downloadTask.off('remove', removeCallback);

on('fail')7+

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ù)的錯誤碼。

示例:

  1. let failCallback = (err) => {
  2. console.info('Download task failed. Cause:' + err);
  3. };
  4. downloadTask.on('fail', failCallback);

off('fail')7+

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:下載失敗的錯誤碼。

示例:

  1. let failCallback = (err) => {
  2. console.info(`Download delete fail notification. err: ${err.message}`);
  3. };
  4. downloadTask.off('fail', failCallback);

delete9+

delete(): Promise<boolean>

移除下載的任務(wù),異步方法,使用promise形式返回結(jié)果。

需要權(quán)限:ohos.permission.INTERNET

系統(tǒng)能力: SystemCapability.MiscServices.Download

返回值:

類型

說明

Promise<boolean>

移除任務(wù)是否成功。

示例:

  1. downloadTask.delete().then((result) => {
  2. if (result) {
  3. console.info('Download task removed.');
  4. } else {
  5. console.error('Failed to remove the download task.');
  6. }
  7. }).catch ((err) => {
  8. console.error('Failed to remove the download task.');
  9. });

delete9+

delete(callback: AsyncCallback<boolean>): void

移除下載的任務(wù),異步方法,使用callback形式返回結(jié)果。

需要權(quán)限:ohos.permission.INTERNET

系統(tǒng)能力: SystemCapability.MiscServices.Download

參數(shù):

參數(shù)名

類型

必填

說明

callback

AsyncCallback<boolean>

移除任務(wù)是否成功。

示例:

  1. downloadTask.delete((err, result)=>{
  2. if(err) {
  3. console.error('Failed to remove the download task.');
  4. return;
  5. }
  6. if (result) {
  7. console.info('Download task removed.');
  8. } else {
  9. console.error('Failed to remove the download task.');
  10. }
  11. });

getTaskInfo9+

getTaskInfo(): Promise<DownloadInfo>

查詢下載任務(wù),異步方法,使用promise形式返回DownloadInfo里的信息。

需要權(quán)限:ohos.permission.INTERNET

系統(tǒng)能力: SystemCapability.MiscServices.Download

返回值:

類型

說明

Promise<DownloadInfo>

查詢下載任務(wù)信息。

示例:

  1. downloadTask.getTaskInfo().then((downloadInfo) => {
  2. console.info('Download task queried. Data:' + JSON.stringify(downloadInfo))
  3. }) .catch((err) => {
  4. console.error('Failed to query the download task. Cause:' + err)
  5. });

getTaskInfo9+

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ù)。

示例:

  1. downloadTask.getTaskInfo((err, downloadInfo)=>{
  2. if(err) {
  3. console.error('Failed to query the download mimeType. Cause:' + JSON.stringify(err));
  4. } else {
  5. console.info('download query success. data:'+ JSON.stringify(downloadInfo));
  6. }
  7. });

getTaskMimeType9+

getTaskMimeType(): Promise<string>

查詢下載的任務(wù)的 MimeType,異步方法,使用promise形式返回結(jié)果。

需要權(quán)限:ohos.permission.INTERNET

系統(tǒng)能力: SystemCapability.MiscServices.Download

返回值:

類型

說明

Promise<string>

查詢下載任務(wù)的MimeType。

示例:

  1. downloadTask.getTaskMimeType().then((data) => {
  2. console.info('Download task queried. Data:' + JSON.stringify(data));
  3. }).catch((err) => {
  4. console.error('Failed to query the download MimeType. Cause:' + JSON.stringify(err))
  5. });

getTaskMimeType9+

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ù)。

示例:

  1. downloadTask.getTaskMimeType((err, data)=>{
  2. if(err) {
  3. console.error('Failed to query the download mimeType. Cause:' + JSON.stringify(err));
  4. } else {
  5. console.info('Download task queried. data:' + JSON.stringify(data));
  6. }
  7. });

suspend9+

suspend(): Promise<boolean>

暫停下載任務(wù),異步方法,使用promise形式返回結(jié)果。

需要權(quán)限:ohos.permission.INTERNET

系統(tǒng)能力: SystemCapability.MiscServices.Download

返回值:

類型

說明

Promise<boolean>

暫停下載任務(wù)是否成功。

示例:

  1. downloadTask.suspend().then((result) => {
  2. if (result) {
  3. console.info('Download task paused. ');
  4. } else {
  5. console.error('Failed to pause the download task. Cause:' + JSON.stringify(result));
  6. }
  7. }).catch((err) => {
  8. console.error('Failed to pause the download task. Cause:' + JSON.stringify(err));
  9. });

suspend9+

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ù)。

示例:

  1. downloadTask.suspend((err, result)=>{
  2. if(err) {
  3. console.error('Failed to pause the download task. Cause:' + JSON.stringify(err));
  4. return;
  5. }
  6. if (result) {
  7. console.info('Download task paused. ');
  8. } else {
  9. console.error('Failed to pause the download task. Cause:' + JSON.stringify(result));
  10. }
  11. });

restore9+

restore(): Promise<boolean>

重新啟動暫停的下載任務(wù),異步方法,使用promise形式返回結(jié)果。

需要權(quán)限:ohos.permission.INTERNET

系統(tǒng)能力: SystemCapability.MiscServices.Download

返回值:

類型

說明

Promise<boolean>

重新啟動暫停的下載任務(wù)是否成功。

示例:

  1. downloadTask.restore().then((result) => {
  2. if (result) {
  3. console.info('Download task resumed.')
  4. } else {
  5. console.error('Failed to resume the download task. ');
  6. }
  7. console.info('Download task resumed.')
  8. }).catch((err) => {
  9. console.error('Failed to resume the download task. Cause:' + err);
  10. });

restore9+

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ù)。

示例:

  1. downloadTask.restore((err, result)=>{
  2. if (err) {
  3. console.error('Failed to resume the download task. Cause:' + err);
  4. return;
  5. }
  6. if (result) {
  7. console.info('Download task resumed.');
  8. } else {
  9. console.error('Failed to resume the download task.');
  10. }
  11. });

remove(deprecated)

remove(): Promise<boolean>

移除下載的任務(wù),異步方法,使用promise形式返回結(jié)果。

說明

需要權(quán)限:ohos.permission.INTERNET

系統(tǒng)能力: SystemCapability.MiscServices.Download

返回值:

類型

說明

Promise<boolean>

移除任務(wù)是否成功。

示例:

  1. downloadTask.remove().then((result) => {
  2. if (result) {
  3. console.info('Download task removed.');
  4. } else {
  5. console.error('Failed to remove the download task.');
  6. }
  7. }).catch ((err) => {
  8. console.error('Failed to remove the download task.');
  9. });

remove(deprecated)

remove(callback: AsyncCallback<boolean>): void

移除下載的任務(wù),異步方法,使用callback形式返回結(jié)果。

說明

需要權(quán)限:ohos.permission.INTERNET

系統(tǒng)能力: SystemCapability.MiscServices.Download

參數(shù):

參數(shù)名

類型

必填

說明

callback

AsyncCallback<boolean>

移除任務(wù)是否成功。

示例:

  1. downloadTask.remove((err, result)=>{
  2. if(err) {
  3. console.error('Failed to remove the download task.');
  4. return;
  5. }
  6. if (result) {
  7. console.info('Download task removed.');
  8. } else {
  9. console.error('Failed to remove the download task.');
  10. }
  11. });

query(deprecated)

query(): Promise<DownloadInfo>

查詢下載任務(wù),異步方法,使用promise形式返回DownloadInfo里的信息。

說明

需要權(quán)限:ohos.permission.INTERNET

系統(tǒng)能力: SystemCapability.MiscServices.Download

返回值:

類型

說明

Promise<DownloadInfo>

查詢下載任務(wù)信息。

示例:

  1. downloadTask.query().then((downloadInfo) => {
  2. console.info('Download task queried. Data:' + JSON.stringify(downloadInfo))
  3. }) .catch((err) => {
  4. console.error('Failed to query the download task. Cause:' + err)
  5. });

query(deprecated)

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ù)。

示例:

  1. downloadTask.query((err, downloadInfo)=>{
  2. if(err) {
  3. console.error('Failed to query the download mimeType. Cause:' + JSON.stringify(err));
  4. } else {
  5. console.info('download query success. data:'+ JSON.stringify(downloadInfo));
  6. }
  7. });

queryMimeType(deprecated)

queryMimeType(): Promise<string>

查詢下載的任務(wù)的 MimeType,異步方法,使用promise形式返回結(jié)果。

說明

需要權(quán)限:ohos.permission.INTERNET

系統(tǒng)能力: SystemCapability.MiscServices.Download

返回值:

類型

說明

Promise<string>

查詢下載任務(wù)的MimeType。

示例:

  1. downloadTask.queryMimeType().then((data) => {
  2. console.info('Download task queried. Data:' + JSON.stringify(data));
  3. }).catch((err) => {
  4. console.error('Failed to query the download MimeType. Cause:' + JSON.stringify(err))
  5. });

queryMimeType(deprecated)

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ù)。

示例:

  1. downloadTask.queryMimeType((err, data)=>{
  2. if(err) {
  3. console.error('Failed to query the download mimeType. Cause:' + JSON.stringify(err));
  4. } else {
  5. console.info('Download task queried. data:' + JSON.stringify(data));
  6. }
  7. });

pause(deprecated)

pause(): Promise<void>

暫停下載任務(wù),異步方法,使用promise形式返回結(jié)果。

說明

需要權(quán)限:ohos.permission.INTERNET

系統(tǒng)能力: SystemCapability.MiscServices.Download

返回值:

類型

說明

Promise<void>

暫停下載任務(wù)是否成功。

示例:

  1. downloadTask.pause().then((result) => {
  2. if (result) {
  3. console.info('Download task paused. ');
  4. } else {
  5. console.error('Failed to pause the download task. Cause:' + JSON.stringify(result));
  6. }
  7. }).catch((err) => {
  8. console.error('Failed to pause the download task. Cause:' + JSON.stringify(err));
  9. });

pause(deprecated)

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ù)。

示例:

  1. downloadTask.pause((err, result)=>{
  2. if(err) {
  3. console.error('Failed to pause the download task. Cause:' + JSON.stringify(err));
  4. return;
  5. }
  6. if (result) {
  7. console.info('Download task paused. ');
  8. } else {
  9. console.error('Failed to pause the download task. Cause:' + JSON.stringify(result));
  10. }
  11. });

resume(deprecated)

resume(): Promise<void>

重新啟動暫停的下載任務(wù),異步方法,使用promise形式返回結(jié)果。

說明

需要權(quán)限:ohos.permission.INTERNET

系統(tǒng)能力: SystemCapability.MiscServices.Download

返回值:

類型

說明

Promise<void>

重新啟動暫停的下載任務(wù)是否成功。

示例:

  1. downloadTask.resume().then((result) => {
  2. if (result) {
  3. console.info('Download task resumed.')
  4. } else {
  5. console.error('Failed to resume the download task. ');
  6. }
  7. console.info('Download task resumed.')
  8. }).catch((err) => {
  9. console.error('Failed to resume the download task. Cause:' + err);
  10. });

resume(deprecated)

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ù)。

示例:

  1. downloadTask.resume((err, result)=>{
  2. if (err) {
  3. console.error('Failed to resume the download task. Cause:' + err);
  4. return;
  5. }
  6. if (result) {
  7. console.info('Download task resumed.');
  8. } else {
  9. console.error('Failed to resume the download task.');
  10. }
  11. });

DownloadConfig

下載任務(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)。

DownloadInfo7+

下載任務(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)。

以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號