获取网络图片,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()
}
参考2300023的原因,排查过了:错误码2300023表示向磁盘/应用程序写入接收数据失败,
可能原因有:
排查过程: