HarmonyOS 系统是否有提供下载器组件?

系统是否有提供下载器组件,自带ui的已经下载的不重复下载,支持断点下载。

阅读 520
1 个回答

没有自带UI的组件,目前提供的有基础能力应用文件上传下载:https://developer.huawei.com/consumer/cn/doc/harmonyos-guides-V5/app-file-upload-download-V5

可以根据当前能力自行进行实现,断点续传的实现需要依赖于服务器,客户端仅支持通过设置下载的开始位置和结束位置来控制是否断点续传。参考代码:

config: request.agent.Config = {
  action: request.agent.Action.DOWNLOAD,
  url: 'https://xxx',
  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('tag upload task progress:' + progress);
  });
  task.on('completed', (progress: request.agent.Progress) => {
    console.info('tag upload task completed:' + progress);
  });
  task.on('failed', (progress: request.agent.Progress) => {
    console.info('tag upload task failed:' + progress);
  });
  task.start(() => {
    console.info('tag start task success');
  })
  console.info(`tag Succeeded in creating a upload task. result: ${task.tid}`);
}).catch((err: BusinessError) => {
  console.error(`tag Failed to create a upload task, Code: ${err.code}, message: ${err.message}`);
});