HarmonyOS 鸿蒙Next:同样一个图片,使用request.downloadFile报错,而通过httpRequest.request自己实现下载和保存则不报错

HarmonyOS 鸿蒙Next:同样一个图片,使用request.downloadFile报错,而通过httpRequest.request自己实现下载和保存则不报错

拷贝的官方案例,但是执行后报错如下:

错误截图

而自己通过httpRequest请求并保存文件则没问题

export function download() {
  let httpRequest = http.createHttp();
  let opt: http.HttpRequestOptions = {
    method: http.RequestMethod.GET,
    expectDataType: http.HttpDataType.ARRAY_BUFFER
  }
  let url = 'https://image.baidu.com/search/down?tn=download&word=download&ie=utf8&fr=home&url=http%3A%2F%2Fgips0.baidu.'
    +'com%2Fit%2Fu%3D1690853528%2C2506870245%26fm%3D3028%26app%3D3028%26f%3DJPEG%26fmt%3Dauto%3Fw%3D1024%26h%3D1024'
    +'&thumbUrl=http%3A%2F%2Fgips0.baidu.com%2Fit%2Fu%3D1690853528%2C2506870245%26fm%3D3028%26app%3D3028%26f%3DJPEG%26fmt%3Dauto%3Fw%3D1024%26h%3D1024'
  httpRequest.request(url, opt)
    .then((resp) => {
      console.log('请求成功')
      saveFile(resp.result as ArrayBuffer, "test.jpeg")
    }).catch((e: BusinessError) => {
      console.error("请求失败: " + e.message)
  })
}

更多关于HarmonyOS 鸿蒙Next:同样一个图片,使用request.downloadFile报错,而通过httpRequest.request自己实现下载和保存则不报错的实战教程也可以访问 https://www.itying.com/category-93-b0.html

2 回复

13400001文件操作异常 参考地址:https://developer.huawei.com/consumer/cn/doc/harmonyos-references-V5/errorcode-request-V5#section13400001-%E6%96%87%E4%BB%B6%E6%93%8D%E4%BD%9C%E5%BC%82%E5%B8%B8

另外:下载要在真机上执行,模拟器上执行是有问题的。

更多关于HarmonyOS 鸿蒙Next:同样一个图片,使用request.downloadFile报错,而通过httpRequest.request自己实现下载和保存则不报错的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


针对帖子标题中提到的问题,关于HarmonyOS鸿蒙Next系统中使用request.downloadFile报错,而通过httpRequest.request自行实现下载和保存不报错的情况,可能的原因及解决方案如下:

在HarmonyOS中,request.downloadFile方法可能受限于特定的使用场景或参数配置。若该方法报错,可能涉及权限问题、URL格式不正确、请求头设置不当或文件存储路径有误等。而使用httpRequest.request方法自行实现下载,可以更灵活地设置请求参数和请求头,同时能更精确地控制文件保存的路径和方式,从而避免了downloadFile方法可能遇到的问题。

针对此情况,建议检查request.downloadFile方法的调用参数,确保URL有效、权限已申请且正确配置、存储路径合法且可写。同时,对比httpRequest.request实现中的请求参数和请求头设置,看是否有遗漏或错误配置。

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

回到顶部