HarmonyOS 鸿蒙Next request.downloadFile 文件下载

发布于 1周前 作者 htzhanglong 来自 鸿蒙OS

HarmonyOS 鸿蒙Next request.downloadFile 文件下载

static downloadFile(context: Context, url: string, destFileDir: string, fileName: string, callback: FileCallback): void { let downloadTask: request.DownloadTask const filePath = destFileDir + ‘/’ + fileName //判断文件是否存在 if (fs.accessSync(filePath)) { //删除文件 fs.unlinkSync(filePath) } let isExistFile = fs.accessSync(destFileDir) if (!isExistFile) { fs.mkdirSync(destFileDir) } try { // 发起文件下载请求 request.downloadFile(context, { url: url, filePath: filePath, background: true, title: fileName }, (err:BusinessError, data) => { if (err) { console.log('Failed to request the download. Cause: ’ + JSON.stringify(err)); } downloadTask = data

  // 下载完成的回调函数
  let completeCallback = () => {
    console.info(`file:${fileName} download succeed`)
  };
  downloadTask.on('complete', completeCallback);

  // 下载进度的回调函数
  let progressCallback = (receivedSize: number, totalSize: number) => {
    const singleProgress = receivedSize / totalSize
    console.log("download receivedSize:" + receivedSize + " totalSize:" + totalSize + ' progress : ' +
      singleProgress);
  };
  downloadTask.on('progress', progressCallback);
})

} catch (err) { console.log('err.code : ’ + err.code + ', err.message : ’ + err.message); } }

为什么会报错 Failed to request the download. Cause: {“code”:13400003}

是什么原因导致的 但是相同的代码 只成功下载过一次


更多关于HarmonyOS 鸿蒙Next request.downloadFile 文件下载的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html

3 回复

博主大佬,麻烦问一下下载如果有参数要传,我应该放在哪里呢?

更多关于HarmonyOS 鸿蒙Next request.downloadFile 文件下载的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


  1. 这个错误码表示服务异常,可能原因任务创建失败,

可以看一下filePath参数是否是完整的文件路径,即所有父级路径必须已创建。如果路径中存在未创建的父级路径,则会返回13400003错误码,表示任务服务能力错误。因此,在调用request.downloadFile方法时,确保提供的filePath参数是一个完整的文件路径,所有父级路径都已创建,以避免下载失败。 沙箱文件目录创建请参考链接

  1. 除了这个错误码,是否有其他错误日志?

针对帖子标题“HarmonyOS 鸿蒙Next request.downloadFile 文件下载”的问题,以下是专业且简洁的回答:

在HarmonyOS中,若要实现文件下载功能,通常需要使用系统提供的网络请求API或第三方库来发送HTTP请求并处理响应。对于request.downloadFile这一具体方法(假设为某个库或框架中的方法),其工作原理大致如下:

该方法会接收一个文件URL作为参数,并启动一个下载任务。下载过程中,可能会通过回调或事件通知的方式,向调用者报告下载进度、成功或失败状态。一旦下载完成,文件通常会被保存到设备的指定存储位置。

在HarmonyOS应用中实现文件下载时,需要注意以下几点:

  • 确保应用具有访问网络的权限。
  • 处理好文件保存路径和文件名,避免冲突。
  • 在下载过程中,及时响应用户的取消请求。
  • 下载完成后,根据需求进行文件校验或处理。

如果request.downloadFile方法是你所使用的某个库或框架的一部分,请查阅该库或框架的官方文档以获取更详细的使用说明和示例代码。

如果问题依旧没法解决请联系官网客服,官网地址是:https://www.itying.com/category-93-b0.html

回到顶部