Flutter Web - 加载网络图片失败

6
我在项目的Firebase存储桶中有图片,想要在UI中显示。我按照另一个stackoverflow答案的说明进行操作,但对我无效。
为了能够在Flutter网页上显示来自Firebase Storage的图像,您需要为CORS配置数据。
打开GCP控制台,选择您的项目并通过单击顶部导航栏中的“>_”图标按钮启动云终端会话。单击打开编辑器按钮(铅笔图标),然后创建cors.json文件。运行gsutil cors set cors.json gs://your-bucket。cors.json文件应如下所示:
[{ "origin": ["*"], "method": ["GET"], "maxAgeSeconds": 3600 }]
我将源设置为*,这意味着每个网站都可以显示您的图像。但您也可以在那里插入您网站的域以限制访问。
如果您需要更多信息: https://cloud.google.com/storage/docs/configuring-cors 我在云平台上看到我的项目和存储桶更新,但我收到相同的错误消息:
Failed to load network image.
Image URL: gs://---------------------------------.png
Trying to load an image from another domain? Find answers at:
https://flutter.dev/docs/development/platform-integration/web-image

我也按照这个人的教程去访问存储图像。他使用了 Image.network 小部件,我也是这样做的。但是它对我不起作用。下面的截图是我看到的。黑色方框是存储位置的 URL。

enter image description here


我也遇到了同样的问题。如果您有解决方案,请建议一下。 - Raghu Mudem
2个回答

5

使用 HTML 渲染器

在终端中运行以下命令

flutter run -d chrome --web-renderer html

1
在运行以下命令后,图像会出现。
flutter build web --release --web-renderer html
但我仍然无法将Flutter Web中的图像上传/裁剪到Firebase。

1
这意味着当您添加图像时,必须先运行此标记,然后再添加图像,否则不起作用。是否有永久的适当解决方案? - Adnan haider
你需要使用图像构建应用程序。然后运行Flutter Web,在构建应用程序时,使用命令行 - flutter build web --release --web-renderer html。 - J L
我使用的是稳定版本的Flutter Web,它不完美吗? - Adnan haider
这个指南将帮助您将Flutter应用迁移到Flutter Web。 - J L

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接