鸿蒙开发HarmonyOS( Beta5版)基于request上传下载控制

request主要给应用提供上传下载文件、后台传输代理的基础能力。

场景一:上传下载进度回调。

方式一:使用request.agent.create下载文件开启进度回调,当前规格是约1s一次回调。


//进度回调的Callback

let progressCallback = (progress: request.agent.Progress) => {

console.info('download task progress:'+progress.sizes+'/'+progress.processed); };

request.agent.create(context, config1).then((task: request.agent.Task) => {

console.log(task.tid)

//开启进度回调监听

task.on('progress', progressCallback);

console.info(`Succeeded in creating a download task. result: ${task.tid}`);

task.on('completed', createOnCallback);

task.start((err: BusinessError) => {

if (err) {

console.error(`Failed to start the download task, Code: ${err.code}, message: ${err.message}`);

return;

}

console.info(`Succeeded in starting a download task.`);

});

console.info(`Succeeded in creating a download task. result: ${task.tid}`);

}).catch((err: BusinessError) => {

console.error(`Failed to create a download task, Code: ${err.code}, message: ${err.message}`);

});

方式二:使用request.downloadFile下载文件,传入context和DownloadConfig,开启进度回调。


request.downloadFile(context.getApplicationContext(), {

url: 'xxxxx',

filePath: filesDir + '/文件路径',

enableMetered: true

}).then((downloadTask: request.DownloadTask) => {

let progresCallback = (receivedSize: number, totalSize: number) => {

console.info("download receivedSize:" + receivedSize + " totalSize:" + totalSize);

};

//开启进度回调

downloadTask.on('progress', progresCallback);

})

场景二:暂停恢复下载。

要实现按钮点击暂停/恢复下载,需要先将Task传入,然后调用pause()暂停/resume()恢复下载任务。


request.agent.create(getContext(), config).then((task
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值