HarmonyOS鸿蒙Next中Image组件加载阿里云OSS图片,加载不出来,网络权限已经配置,oss地址可公开访问

HarmonyOS鸿蒙Next中Image组件加载阿里云OSS图片,加载不出来,网络权限已经配置,oss地址可公开访问

该OSS图片是可公开访问的,但图片地址在浏览器里可下载,不能直接显示,能在浏览器里直接显示的图片,用Image组件也可以直接显示的

```javascript
Column({
  space: 10
}) {
  Image('https://img0.baidu.com/it/u=902091309,3088788252&fm=253&fmt=auto&app=120&f=JPEG?w=1200&h=800')
    .alt(app.media.app_icon)
    .width(100)
    .height(100)
    .onError(err => {
      Logger.error(index+'', JSON.stringify(err))
    })
  Text(item.name + '页面')
  Image('https://szys-cs.oss-cn-beijing.aliyuncs.com/crmebimage/public/maintain/2023/03/29/b005d2507b694f22b02cdf3965b1ec9dxffn5r4pci.png')
    .width(100)
    .height(100)
    .onError(err => {
      Logger.error(index+'', JSON.stringify(err))
    })
}

上面的图片在模拟器中可以显示,下面的图片在模拟器中显示不出来

目前用的是API9,有人知道怎么处理吗?


更多关于HarmonyOS鸿蒙Next中Image组件加载阿里云OSS图片,加载不出来,网络权限已经配置,oss地址可公开访问的实战教程也可以访问 https://www.itying.com/category-93-b0.html

4 回复

我这边真机 api9能显示出来,  是不是你的网络有问题,换成4G试试?

更多关于HarmonyOS鸿蒙Next中Image组件加载阿里云OSS图片,加载不出来,网络权限已经配置,oss地址可公开访问的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


我用的是模拟器,

在HarmonyOS鸿蒙Next中,Image组件加载阿里云OSS图片失败,可能的原因包括:

  • URL格式问题:确保OSS图片的URL格式正确,且包含协议(如https://)。

  • 网络请求配置:检查config.json文件中的网络权限配置,确保已正确声明ohos.permission.INTERNET权限。

  • Image组件属性:确认Image组件的src属性是否正确设置为OSS图片的URL。

  • 跨域问题:如果OSS开启了跨域访问限制,需在OSS控制台配置允许的域名。

  • 缓存问题:尝试清除缓存或使用不同的URL参数(如时间戳)来避免缓存问题。

  • 网络状态:确保设备网络连接正常,可以访问其他网络资源。

  • 日志排查:通过HiLogconsole输出日志,检查是否有错误信息。

  • Image组件兼容性:确认使用的Image组件版本与鸿蒙Next系统兼容。

  • OSS配置:检查OSS的Bucket权限设置,确保图片可公开访问。

  • 系统限制:某些系统版本或设备可能存在网络请求限制,需确认系统版本是否支持。

如果以上检查均无问题,建议进一步排查具体错误信息。

在HarmonyOS鸿蒙Next中,如果Image组件无法加载阿里云OSS图片,首先确保以下几点:

  1. 网络权限:已在config.json中正确配置ohos.permission.INTERNET权限。
  2. URL格式:OSS图片地址为完整的HTTP/HTTPS URL,且可公开访问。
  3. Image组件使用:确保Image组件的src属性正确设置为OSS图片地址,如<Image src="https://your-oss-bucket.aliyuncs.com/image.jpg" />
  4. 网络状态:设备网络连接正常,可访问外网。
  5. 日志排查:通过HiLog查看是否有相关错误日志,如网络请求失败或URL解析错误。

若问题仍存在,建议检查OSS跨域配置(CORS)或尝试使用其他网络库(如@ohos.net.http)直接下载图片并显示。

回到顶部