HarmonyOS 鸿蒙Next下载图片时返回结果中报错

发布于 1周前 作者 gougou168 最后一次编辑是 5天前 来自 鸿蒙OS

HarmonyOS 鸿蒙Next下载图片时返回结果中报错

错误码2300023表示向磁盘/应用程序写入接收数据失败,可能原因有:

原因一:目标文件为只读文件,没有写入权限。

原因二:下载的文件大小超过5M。

原因三:上一次请求数据未接收完毕调用destroy销毁导致接收数据不完整。 http.createHttp()

.request(url,

(error: BusinessError, data: http.HttpResponse) => {

if (error) {

// 下载失败时弹窗提示检查网络,不执行后续逻辑

console.error(’-----’ + error.message)

return;

}

if (ResponseCode.ResponseCode.OK === data.responseCode) {

const imageData: ArrayBuffer = data.result as ArrayBuffer;

then(imageData)

}

}

)

下载的url是我们服务器的一个图片地址

我的报错是哪个原因

如果是原因2, 那超过5M的图片怎么下载


更多关于HarmonyOS 鸿蒙Next下载图片时返回结果中报错的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html

2 回复
http请求默认规格最大可传输5M数据文件,如文件超出当前限制可使用http.requestInstream能力替代。

https://developer.huawei.com/consumer/cn/doc/harmonyos-references-V5/js-apis-http-V5#requestinstream10

// 用于订阅HTTP流式响应数据接收事件

let res = new ArrayBuffer(0);

httpRequest.on(‘dataReceive’, (data: ArrayBuffer) => {

const newRes = new ArrayBuffer(res.byteLength + data.byteLength);

const resView = new Uint8Array(newRes);

resView.set(new Uint8Array(res));

resView.set(new Uint8Array(data), res.byteLength);

res = newRes;

console.info('res length: ’ + res.byteLength);

});

// 用于订阅HTTP流式响应数据接收完毕事件

httpRequest.on(‘dataEnd’, () => {

console.info(‘No more data in response, data receive end’);

});

可以参考一下这个demo

https://developer.huawei.com/consumer/cn/doc/harmonyos-guides-V5/http-request-V5#requestinstream%E6%8E%A5%E5%8F%A3%E5%BC%80%E5%8F%91%E6%AD%A5%E9%AA%A4

更多关于HarmonyOS 鸿蒙Next下载图片时返回结果中报错的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


在HarmonyOS鸿蒙系统中,下载图片时如果返回结果中报错,可能的原因及处理方法如下:

  1. 网络异常

    • 检查设备网络连接状态,确保设备已连接到互联网。
    • 尝试重新下载,或检查网络设置。
  2. URL无效

    • 确认图片URL是否有效,尝试在浏览器中直接访问该URL,看是否能正常加载图片。
    • 如果URL无效,更换有效的图片URL。
  3. 权限问题

    • 检查应用是否已获取读写存储权限。
    • 在设置中检查并授予应用必要的权限。
  4. 存储空间不足

    • 检查设备存储空间是否已满。
    • 清理不必要的文件或应用,释放存储空间。
  5. 系统或应用Bug

    • 确认是否为系统或应用的已知问题。
    • 尝试更新系统或应用至最新版本。
  6. 服务器问题

    • 如果图片托管在第三方服务器上,可能是服务器问题导致下载失败。
    • 稍后再试,或联系服务器管理员。

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

回到顶部