HarmonyOS鸿蒙Next中加载网络图片时,如果网络图片中有中文导致image加载不出来,这样的路径需要怎么处理?

HarmonyOS鸿蒙Next中加载网络图片时,如果网络图片中有中文导致image加载不出来,这样的路径需要怎么处理?

加载带中文的网络图片 image 加载一张网络动图

如:https://test-sc.x’x’x.com/xxx/xxx-xxx.gif?imageView/1/w/120/h/120/q/100/

加载不出来 请问这样的网络图片怎么处理

3 回复

格式不正确,提供的地址没有携带图片的格式后缀名。Image支持加载PixelMap、ResourceStr和DrawableDescriptor类型的数据源,支持png、jpg、jpeg、bmp、svg、webp和gif类型的图片格式,请使用组件支持的图片格式。

参考image官网:https://developer.huawei.com/consumer/cn/doc/harmonyos-references-V13/ts-basic-components-image-V13

1、格式后缀名正确后,2、还存在中文问题,大概是ur网络图片必须支持RFC 9113标准,否则会导致加载失败,可以在先浏览器加载图片,检查发现中文被替换,加载已替换这个

RFC 9113标准:https://www.rfc-editor.org/rfc/rfc9113.html

更多关于HarmonyOS鸿蒙Next中加载网络图片时,如果网络图片中有中文导致image加载不出来,这样的路径需要怎么处理?的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


在HarmonyOS鸿蒙Next中加载网络图片时,如果图片URL中包含中文字符,可能会导致图片加载失败。这是因为URL中的中文字符需要进行编码处理,以确保其能够正确传输和解析。

解决方法是将URL中的中文字符进行URL编码。URL编码会将中文字符转换为%后面跟随两位十六进制数的形式。例如,中文字符“中”会被编码为“%E4%B8%AD”。

在鸿蒙系统中,可以使用encodeURIComponent函数对URL中的中文字符进行编码。具体步骤如下:

  1. 获取原始URL字符串。
  2. 使用encodeURIComponent对URL中的中文字符进行编码。
  3. 将编码后的URL传递给Image组件进行加载。

示例代码:

let originalUrl = "https://example.com/图片/中文图片.jpg";
let encodedUrl = encodeURIComponent(originalUrl);
// 使用encodedUrl加载图片

通过这种方式,可以确保包含中文字符的URL能够正确加载网络图片。

在HarmonyOS鸿蒙Next中加载包含中文的图片路径时,建议对URL进行编码处理。使用URLEncoder.encode()方法将中文部分编码为UTF-8格式,确保路径中的特殊字符被正确解析。例如:

String encodedUrl = URLEncoder.encode(originalUrl, "UTF-8");

这样可以避免因中文导致的图片加载失败问题。

回到顶部