解决方案 :断点续传的实现需要依赖于服务器,客户端仅支持通过设置下载的开始位置和结束位置来控制是否断点续传begins和ends当前能实现基础的分段上传下载能力,完整的断点续传功能当前需要由开发这边来实现具体的下载拼接逻辑。overwrite若设置为false则在第二次下载时会报错:文件已存在,若设置为true则会覆写此文件;具体实现逻辑可参考:设置overwrite为true,下载中断后需要一个逻辑重命名并将两次下载文件进行拼接,下载完成并拼接后覆盖之前的下载文件。参考代码:let config: request.agent.Config = { action: request.agent.Action.DOWNLOAD, url: 'https://test.com/jdk-21_linux-aarch64_bin.tar.gz', title: 'taskOnTest', description: 'Sample code for event listening', mode: request.agent.Mode.FOREGROUND, overwrite: false, method: "GET", data: '', saveas: "./", network: request.agent.Network.WIFI, metered: false, roaming: true, retry: true, redirect: true, index: 0, begins: 0, ends: -1, gauge: false, precise: false, token: "it is a secret" }; request.agent.create(getContext(), config).then((task: request.agent.Task) => { task.on('progress', (progress: request.agent.Progress) => { console.info('upload task progress:' + progress); }); task.on('completed', (progress: request.agent.Progress) => { console.info('upload task completed:' + progress); }); task.on('failed', (progress: request.agent.Progress) => { console.info('upload task failed:' + progress); }); task.start(() => { console.info('start task success'); }) console.info(`Succeeded in creating a upload task. result: ${task.tid}`); }).catch((err: BusinessError) => { console.error(`Failed to create a upload task, Code: ${err.code}, message: ${err.message}`); });
解决方案 :
断点续传的实现需要依赖于服务器,客户端仅支持通过设置下载的开始位置和结束位置来控制是否断点续传
begins和ends当前能实现基础的分段上传下载能力,完整的断点续传功能当前需要由开发这边来实现具体的下载拼接逻辑。
overwrite若设置为false则在第二次下载时会报错:文件已存在,若设置为true则会覆写此文件;
具体实现逻辑可参考:设置overwrite为true,下载中断后需要一个逻辑重命名并将两次下载文件进行拼接,下载完成并拼接后覆盖之前的下载文件。
参考代码: