获取网络图片,httpRequest.request报错error code
获取网络图片,httpRequest.request报错error code: 2300023, msg: Failed writing received data to disk/application
httpRequest(urlAddr: string) {
let httpRequest = http.createHttp()
// httpRequest.on(“headersReceive”, (header: Object) => {
// console.info("header: " + JSON.stringify(header))
// })
httpRequest.request(//网络图片地址
urlAddr,
{“usingCache”:true,
// “readTimeout”:60000,
// “connectTimeout”:60000,
// “usingProtocol”:http.HttpProtocol.HTTP2
},
(error, data) => {
if (error) {
console.log("error code: " + error.code + ", msg: " + error.message)
} else {
let code = data.responseCode
if (ResponseCode.ResponseCode.OK == code) {
let res: ArrayBuffer = data.result as ArrayBuffer
//通过获取到的uri创建图片源实例。
let imageSource = image.createImageSource(res)
class tmp {
height: number = 100
width: number = 100
}
let si: tmp = new tmp()
let options: Record<string, number | boolean | tmp> = {
'alphaType': 0, // 透明度
'editable': false, // 是否可编辑
'pixelFormat': 3, // 像素格式
'scaleMode': 1, // 缩略值
'size': { height: 100, width: 100 }
} // 创建图片大小
//将图片数据解析为pixelmap,并设置option属性。
imageSource.createPixelMap(options).then((pixelMap) => {
// 将pixelmap通过状态变量image传递给Image组件,将图片信息加载出来。
let item:PictureItem = new PictureItem(0, pixelMap)
this.services.push(item)
})
} else {
console.log("response code: " + code)
}
}
}
)
// httpRequest.off("headersReceive")
httpRequest.destroy()
}
HarmonyOS
赞
收藏 0
回答 1
待解决
相关问题
httpRequest.request 请求https接口ssl证书验证失败
934浏览 • 0回复 待解决
服务卡片image怎么获取网络图片?
5736浏览 • 2回复 待解决
获取网络图片并保存到相册
441浏览 • 1回复 待解决
Image组件设置使用网络图片,如果网络图片获取不成功,应该如何设置兜底图片
526浏览 • 1回复 待解决
页面加载前获取网络图片的宽高
272浏览 • 1回复 待解决
Image组件如何加载网络图片
1161浏览 • 1回复 待解决
如何保存网络图片到相册
241浏览 • 1回复 待解决
使用网络请求,接口数据返回失败,error对象里是code:200,data:'request data error' 是什么原因?
2562浏览 • 1回复 待解决
OpenHarmony arkui(ets) image如何加载网络图片
6316浏览 • 2回复 待解决
请问Image控件是怎样设置网络图片的
9118浏览 • 3回复 已解决
请问Image怎么加载带有referer的网络图片?
848浏览 • 2回复 待解决
报错error: install failed due to grant request permissions failed Error while Deploy Hap
959浏览 • 0回复 待解决
Image组件加载网络图片时是否会生成本地缓存
872浏览 • 1回复 待解决
image相同的网络图片地址只能显示一次?
6316浏览 • 2回复 待解决
Image组件显示网络图片时有类似placeholder的功能没?
1558浏览 • 1回复 待解决
运行HarmonyOS工程持续报错error: ACCESS_ERROR, code: 109.怎么回事啊?
3029浏览 • 2回复 待解决
首屏启动(两个网络库,网络图片预加载)四五个图片(能否达到秒出现,url)
680浏览 • 1回复 待解决
Image组件加载网络图片时是否可以自定义设置key?
687浏览 • 1回复 待解决
鸿蒙开发:请问怎样将字符串的网络图片转成element?
8339浏览 • 1回复 待解决
Image已加载网络图片,二次加载是否有缓存机制
48浏览 • 1回复 待解决
引用第三方组件不能显示网络图片什么原因?
3923浏览 • 2回复 待解决
无网络环境下使用同步方法获取网络状态报错
55浏览 • 1回复 待解决
参考2300023的原因,排查过了:错误码2300023表示向磁盘/应用程序写入接收数据失败,
可能原因有:
1. 目标文件为只读文件,没有写入权限。
2. 下载的文件大小超过5M。
排查过程:
1. 网络图片是直接渲染在image里,不会向本地磁盘写文件,而且给APP的module.json5里添加读写权限“name”: “ohos.permission.WRITE_MEDIA”,“name”: “ohos.permission.READ_NEDIA”,会报错error code: 201, msg: Permission denied。
2. 下载的图片大小只有几百KB,最大的也不会到1M。
3. 这个代码,我是参考官网实现的,春节前还是正常的,没动它,春节后再次使用DevEco Studio在Mate 40pro的单框架鸿蒙系统上运行就报错2300023了,重烧系统后依然报该错误。