获取网络图片,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() 
}
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
  • 17.
  • 18.
  • 19.
  • 20.
  • 21.
  • 22.
  • 23.
  • 24.
  • 25.
  • 26.
  • 27.
  • 28.
  • 29.
  • 30.
  • 31.
  • 32.
  • 33.
  • 34.
  • 35.
  • 36.
  • 37.
  • 38.
  • 39.
  • 40.
  • 41.
  • 42.
  • 43.
  • 44.
  • 45.
  • 46.
  • 47.
  • 48.
  • 49.
HarmonyOS
2024-05-09 22:54:42
浏览
收藏 0
回答 1
回答 1
按赞同
/
按时间
e_lion

参考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了,重烧系统后依然报该错误。

分享
微博
QQ
微信
回复
2024-05-10 11:09:15


相关问题
HarmonyOS 获取网络图片高度
648浏览 • 1回复 待解决
HarmonyOS 获取网络图片PixelMap
793浏览 • 1回复 待解决
如何获取网络图片的尺寸?
1216浏览 • 1回复 待解决
获取网络图片并保存到相册
2851浏览 • 1回复 待解决
服务卡片image怎么获取网络图片
8163浏览 • 2回复 待解决
页面加载前获取网络图片的宽高
1453浏览 • 1回复 待解决
HarmonyOS 闪退报错 Error code:2100001
837浏览 • 1回复 待解决
HarmonyOS 请求网络图片
1158浏览 • 1回复 待解决
HarmonyOS Image加载网络图片
760浏览 • 1回复 待解决
HarmonyOS 网络图片加载控件
775浏览 • 1回复 待解决
如何保存网络图片到相册
1675浏览 • 1回复 待解决
服务卡片怎么显示网络图片
352浏览 • 0回复 待解决
wifi连接候选网络报错{code : 2501000 }
1125浏览 • 1回复 待解决
HarmonyOS Image组件网络图片不显示
1469浏览 • 1回复 待解决
HarmonyOS 使用picker保存网络图片
664浏览 • 1回复 待解决