当部署到Web服务器时,Flutter Web资产图像不显示

lzfw57am  于 2022-11-17  发布在  Flutter
关注(0)|答案(9)|浏览(282)

我创建了一个使用网络图像和资产图像的flutter web项目,在我的PC上调试时一切正常,但当我将其部署到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
sbtkgmzw

sbtkgmzw1#

对于Flutter Web 3.0:
你的出版规范。yaml:

assets:
    - assets/images/

测试者:

Image.asset("images/logo.png");

部署:

Image.asset("assets/images/logo.png");

对我很有效!

gcmastyq

gcmastyq2#

在我的例子中,只有在移动浏览器中才有一个奇怪的错误(因为桌面或本机移动的中没有错误),所以请确保在连接到移动设备时,使用chrome上的远程调试器检查您部署的应用程序。
chrome://检查/器械数量
当前有效的解决方案...
第一个

wpcxdonn

wpcxdonn3#

1.请先检查assets文件夹是否在Web文件夹中。
1.访问资产时,尝试写入“assets”两次。例如-“assets/assets/slack. png”

af7jpaap

af7jpaap4#

在我的例子中,这是由于资产文件夹中的图像的权限。
如果出现以下消息:

main.dart.js:7090          GET  
https://mywebsite.com/assets/images/Test/180229115.jpg 403 (Forbidden)

您可能需要在服务器上使用ls -la检查图像文件的权限
我有以下几点:

-rwxr----- image1.jpg
-rwxr----- image2.jpg
-rwxr----- etc

然后将它们更改为public read with:

chmod 644 *`

输出量:

-rw-r--r-- image1.jpg
-rw-r--r-- image2.jpg
-rw-r--r-- etc

并重新加载您的index.html,现在应该工作!

l2osamch

l2osamch5#

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

步骤1.检查build文件夹

尝试在项目中运行flutter build web命令并检查build文件夹。

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

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

如果此操作不起作用,则需要检查pubspec.yaml文件并更正路径。

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

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

r1wp621o

r1wp621o6#

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

68bkxrlz

68bkxrlz7#

只要用flutter 2.2.0来做这个,那么你就万事俱备了。

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

xxe27gdn8#

在Web浏览器上运行Flutter代码时,无法加载网络图像。这是因为HTML渲染器问题。
您可以使用以下命令运行flutter代码或编辑运行的android studio设置。
flutter运行-d chrome --网页渲染器html
抖动网页上的图像渲染问题的两种可能的解决方案。在此处检查https://youtu.be/U0Ez4CS6frc

gblwokeq

gblwokeq9#

我的是完美的工作与发展,当我部署的建设标志是失踪。
我在构建Web资源时使用HTML呈现修复了该问题

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

相关问题