docker - flutter 网络 : Some png assets not loaded (404) status

标签 docker flutter nginx flutter-web

我为我的 flutter 移动项目添加了网络支持。项目构建良好,在构建时没有错误或问题。
构建项目后, web 文件夹 在内部创建 构建文件夹 .Inside web 文件夹我有这些文件和文件夹:

$ ls
assets  favicon.png  flutter_service_worker.js  icons  index.html  main.dart.js  manifest.json  version.json
在assets文件夹里面,又是assets文件夹:
/build/web/assets
$ ls
AssetManifest.json  assets  FontManifest.json  fonts  NOTICES  packages
在这个 Assets 里面,有项目的 Assets :
/build/web/assets/assets
$ ls
fonts  images  male.svg  svgs  webfonts
我将图像和 svgs 文件夹复制到最后一个路径 /build/web/assets .然后我将 web 文件夹添加到 /usr/share/nginx/html通过运行这个 nginx 容器的路径:
docker run -it --rm -d -p 8081:80 --name web -v /mnt/Project/Flutter/Projects/app_web/build/web:/usr/share/nginx/html nginx
然后在 Chrome 它这个网址 http://localhost:8081/我看到我的页面。
问题:
一些 png 状态文件有 404 开发者工具 Chrome 。我看到这个网址 http://localhost:8081/assets/assets/images/CardMask.png enter image description hereCardMask.png也存在于这个位置:
/build/web/assets/assets/images
$ ls -la
total 569
drwxrwxrwx 1 root root   4096 Nov  3 14:13 .
drwxrwxrwx 1 root root   4096 Nov  3 14:13 ..
-rwxrwxrwx 1 root root   4319 Nov  3 14:13 CardMask.png
并在容器中:
root@442f35f12938:/usr/share/nginx/html# ls
assets       flutter_service_worker.js  index.html    manifest.json
favicon.png  icons          main.dart.js  version.json
root@442f35f12938:/usr/share/nginx/html# cd assets/
root@442f35f12938:/usr/share/nginx/html/assets# ls
AssetManifest.json  FontManifest.json  NOTICES  assets  fonts  images  packages  svgs
root@442f35f12938:/usr/share/nginx/html/assets# cd assets/
root@442f35f12938:/usr/share/nginx/html/assets/assets# ls
fonts  images  male.svg  svgs  webfonts
root@442f35f12938:/usr/share/nginx/html/assets/assets# cd images/
root@442f35f12938:/usr/share/nginx/html/assets/assets/images# ls
3DBoxes.png   Intersection.svg        bime.png     recieptPage.svg  tick.png
At3.svg       OperationMaskGroup.png  mahak.png    theme.jpg
CardMask.png  RightArcMask.png        receipt.png  theme1.png
root@442f35f12938:/usr/share/nginx/html/assets/assets/images# 
我在 pubspec.yaml 中添加了 Assets 文件夹像这样:
  assets:
    - assets/images/
    - assets/svgs/
    - assets/svgs/regular/
    - assets/fonts/
    - assets/webfonts/
什么是问题?
$ flutter doctor
Doctor summary (to see all details, run flutter doctor -v):
[✓] Flutter (Channel beta, 1.23.0-18.1.pre, on Linux, locale en_US.UTF-8)
[✓] Android toolchain - develop for Android devices (Android SDK version 29.0.3)
[✓] Chrome - develop for the web
[✓] Android Studio (version 4.0)
[✓] VS Code (version 1.50.1)
[✓] Connected device (2 available)

• No issues found!
我如何删除 第二 Assets 在此链接中:http://localhost:8081/assets/assets/images/CardMask.png如果路径是 http://localhost:8081/assets/images/CardMask.png ,我可以看到我的 png 但在 http://localhost:8081/assets/assets/images/CardMask.png我有 404
我正在使用此代码显示 png :
Align(
  alignment: Alignment.topLeft,
  child: ColorFiltered(
    colorFilter:
        ColorFilter.mode(widget.themeColor, BlendMode.srcATop),
    child: kIsWeb
        ? Image.network('assets/images/CardMask.png')
        : Image.asset('assets/images/CardMask.png'),
  ),
),

最佳答案

当我上传到运行 apache/nginx 的服务器时,我遇到了同样的问题。我必须手动将 Assets / Assets 中的所有文件和文件夹移动到 Assets 。我不知道它如何在我的本地主机中运行。

关于docker - flutter 网络 : Some png assets not loaded (404) status,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64661755/

相关文章:

python - 在 docker 中运行时无法从 python 连接到 influxdb

ios - 构建 iOS 版本时重定向 Flutter SDK 路径?

nginx - 如何为 fcgiwrap 正确设置 DOCUMENT_ROOT 和 SCRIPT_NAME

flutter - 使用MultiPartRequest上传多张图片: Content size below specified contentLength

nginx - 使用 nginx 设置动态上游

Django 与gunicorn 和nginx : HTTP 500 not appearing in log files

docker - 无法在jenkins-docker镜像中使用SMTP发送邮件

docker - 如何理解Docker构建过程提供的输出?

docker - 在 Visual Studio 中使用相同的 docker 文件构建 docker 镜像的 Azure Pipeline 失败

flutter Listview -> 容器 'width' 不工作?