HarmonyOS鸿蒙Next中使用本地flutter web加载问题:方法一无法显示图片,方法二无网络请求返回

HarmonyOS鸿蒙Next中使用本地flutter web加载问题:方法一无法显示图片,方法二无网络请求返回 文档链接: https://developer.huawei.com/consumer/cn/doc/harmonyos-guides/web-cross-origin

描述: 使用鸿蒙加载 本地的flutter web,使用https://developer.huawei.com/consumer/cn/doc/harmonyos-guides/web-cross-origin中的方法一加载不出来flutter web中的图片,使用方法二可以加载出来图片,但是flutter web中的网络请求没有数据返回

版本: DevEco Studio 5.1.0 Release Build Version: 5.1.0.849, built on August 13, 2025

Runtime version: 17.0.12+1-b1087.25 aarch64

VM: OpenJDK 64-Bit Server VM by JetBrains s.r.o.

分支: br_3.7.12-ohos-1.1.1

手机: Mate 60 HarmonyOS 6.0.0 软件版本:6.0.0.108

compatible SDK 5.1.0(18)

Flutter 打包命令: flutter build web --profile --pwa-strategy=none --web-renderer html

报错信息:

方法一:

方法二:

[address_info.cc:241] get address info failed, out_os_error is: -11 host: ***

final url: *** , error_code -106(net::ERR_INTERNET_DISCONNECTED, resource_type: 13, downstream throughput kbps: 0, duration_time(ms) 0

[proxy_url_loader_factory.cc:1329] InterceptedRequest id 219491, OnDestroy for error_code: -106

[CONSOLE:157413] “=========来自LogUtil=========”, source: file:///data/storage/el1/bundle/entry/resources/resfile/web/main.dart.js (157413)

[CONSOLE:157413] “Http Error [-1]: The connection errored: The XMLHttpRequest onError callback was called. This typically indicates an error on the network layer. This indicates an error which most likely cannot be solved by the library. unknown”, source: file:///data/storage/el1/bundle/entry/resources/resfile/web/main.dart.js (157413)

[CONSOLE:157413] “=============================”, source: file:///data/storage/el1/bundle/entry/resources/resfile/web/main.dart.js (157413)

[CONSOLE:14800] "Uncaught ", source: file:///data/storage/el1/bundle/entry/resources/resfile/web/main.dart.js (14800)

ThpExtraRunCommand[164]ver:5.0.10 ThpExtraRunCommand, cmd:THP_UpdateViewsLocation, param:thp#Location#

cke_8122.jpeg

cke_9512.jpeg


更多关于HarmonyOS鸿蒙Next中使用本地flutter web加载问题:方法一无法显示图片,方法二无网络请求返回的实战教程也可以访问 https://www.itying.com/category-92-b0.html

2 回复

在HarmonyOS Next中,Flutter Web本地加载问题可能由资源路径或权限配置导致。方法一图片无法显示,检查资源是否在正确目录且路径无误。方法二无网络请求返回,需确认网络权限已开启且请求地址有效。验证Flutter for Web在鸿蒙的兼容性,确保使用支持的插件版本。

更多关于HarmonyOS鸿蒙Next中使用本地flutter web加载问题:方法一无法显示图片,方法二无网络请求返回的实战系列教程也可以访问 https://www.itying.com/category-92-b0.html


从报错信息看,方法一无法显示图片是因为跨域限制导致本地资源加载失败。方法二虽然解决了图片显示问题,但网络请求返回ERR_INTERNET_DISCONNECTED错误,说明Web组件在加载本地Flutter Web时网络访问受限。

针对方法二的问题,建议:

  1. 检查网络权限配置,确保在module.json5中声明了ohos.permission.INTERNET权限
  2. 在Web组件中启用网络访问能力:
webController.setWebSettings({
  javaScriptAccess: true,
  fileAccess: true,
  internetAccess: true // 确保此项为true
});
  1. 如果Flutter Web中使用了XMLHttpRequest,需要确认请求地址在白名单内,可通过setWebSafeBrowsingAllowList方法配置可信域名

对于方法一的图片加载问题,建议将图片资源放在rawfile目录下,通过resource://rawfile/路径访问,避免跨域限制。

两种方法的选择取决于具体需求:如果Flutter Web需要大量网络交互,建议使用方法二并完善网络配置;如果主要是本地展示,可优化方法一的资源加载路径。

回到顶部