【问题标题】:Flutter web asset images not displaying when deployed to web server部署到 Web 服务器时不显示 Flutter Web 资产图像
【发布时间】:2020-03-11 16:26:12
【问题描述】:

我创建了一个使用网络图像和资产图像的flutter web 项目,在我的电脑上调试时一切正常,但当我将其部署到 Web 服务器时,网络图像工作正常,但资产图像根本不显示.当我在网络浏览器控制台中检查页面时,我收到以下错误:

$1 @ window.dart:120
/assets/slack.png:1 Failed to load resource: the server responded with a status of 503 ()
window.dart:120 Error while trying to load an asset: Failed to load asset at "assets/slack.png" (503)

$1 @ window.dart:120
/assets/flutterLogo.png:1 Failed to load resource: the server responded with a status of 503 ()
window.dart:120 Error while trying to load an asset: Failed to load asset at "assets/flutterLogo.png" (503)

$1 @ window.dart:120
/assets/kross.jpg:1 Failed to load resource: the server responded with a status of 503 ()
window.dart:120 Error while trying to load an asset: Failed to load asset at "assets/kross.jpg" (503)

$1 @ window.dart:120
/assets/codingRocket2.png:1 Failed to load resource: the server responded 

【问题讨论】:

标签: flutter dart flutter-web


【解决方案1】:

您应该将照片添加到 pubspec.yaml 文件并将您的资产文件夹上传到 Web 服务器。可能是关于不上传文件夹

【讨论】:

  • 就像一个魅力。我不必将它们添加到pubspec.yaml tho。
  • @Norbert 嘿,这不适合我。我的资产文件夹上传得很好,所有在 pubspec.yaml 中声明的图像
  • 我已经为 pubspec.yaml 中的每个图像添加了路径,但它仍然无法正常工作。当您说将您的资产文件夹上传到网络服务器时,您到底是什么意思?
  • @MayurAgarwal 当我回答这个问题时,Flutter Web 处于测试阶段,所以我不知道稳定版本中发生了什么。
  • 好的,我应该把 assets 文件夹移到 web 文件夹下吗?
【解决方案2】:

您或许应该检查该文件是否作为部署的一部分可用。 404 是您收到的未找到资源的常见错误代码。 503 与服务器可用性或服务器错误有关。我会做以下事情。

第 1 步。检查build 文件夹

尝试在您的项目中运行flutter build web 命令并检查构建文件夹。 假设 pubspec.yaml 具有以下资产配置。

  assets:
    - js/plotly_hookup.js
    - js/plotly-latest.min.js
    - images/
    - screen_shot.png

我希望我的build\web\assets 文件夹中有以下内容。

如果这不起作用,那么是时候检查 pubspec.yaml 文件并更正路径了。

第 2 步:检查您的托管文件夹

确保上面显示的文件在托管此文件夹的服务器中可用。 还要验证服务器是否有任何专门针对图像文件或图像文件类型进行的配置。

【讨论】:

  • 嘿伙计,没有帮助。我检查了我所有的文件都在那里,但资产图像没有显示出来。
  • @devDeejay 你能检查一下这个answer 是否对你有帮助。您访问资产图像的方式可能是有原因的,尤其是在您托管 Web 应用程序时。
【解决方案3】:

只需使用 Flutter 2.2.0 执行此操作即可。

flutter run -d chrome --web-port=8080  --web-renderer HTML //port is optional

【讨论】:

    【解决方案4】:

    在 Web 浏览器上运行 Flutter 代码时无法加载网络图像。这是因为 HTML 渲染器问题。

    您可以使用以下命令运行颤振代码或编辑运行的 android studio 设置。

    flutter run -d chrome --web-renderer html

    Flutter web 上的图像渲染问题的两种可能解决方案。在这里查看https://youtu.be/U0Ez4CS6frc

    【讨论】:

      【解决方案5】:

      在我的情况下,仅在移动浏览器中出现了 STRANGE(因为桌面或本机移动设备没有错误)错误,因此请确保在连接到移动设备时使用 chrome 上的远程调试器检查已部署的应用程序。

      chrome://inspect/#devices

      【讨论】:

        【解决方案6】:

        我的开发工作完美无缺,当我部署构建时,徽标丢失了。

        我在构建网络资产时使用 HTML 渲染修复了它

        flutter build web --web-renderer html --release
        

        【讨论】:

          猜你喜欢
          • 2019-10-06
          • 2020-08-01
          • 1970-01-01
          • 2019-09-27
          • 2021-07-13
          • 2012-09-21
          • 2011-09-11
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多