问题描述
我正在尝试从 Flutter web 读取文本文件。当我在本地运行应用程序时它按预期工作。但是当我在 IIS 服务器中部署 web 应用程序时,服务器抛出 403 错误(禁止)。是否 Flutter web(或任何 Web 应用程序)阻止读取文本文件,或者我可以配置 IIS 服务器以将此文本文件添加为例外吗? 如果在 Flutter web 中读取文件需要额外的步骤,请告诉我。
文本已放置在assets文件夹下,路径已映射到pubspec.yml文件。
下面是我的 Flutter 医生:
[√] Flutter (Channel master,1.24.0-8.0.pre.291,on Microsoft Windows [Version 10.0.18362.1316],locale en-IN)
• Flutter version 1.24.0-8.0.pre.291 at D:\Flutter
• Framework revision c1042314a9 (3 months ago),2020-11-18 01:38:02 -0500
• Engine revision 35a0b9fe68
• Dart version 2.12.0 (build 2.12.0-50.0.dev)
[√] Android toolchain - develop for Android devices (Android SDK version 30.0.3)
• Android SDK at C:\Users\Vasanth\AppData\Local\Android\sdk
• Platform android-30,build-tools 30.0.3
• Java binary at: C:\Program Files\Android\Android Studio\jre\bin\java
• Java version OpenJDK Runtime Environment (build 1.8.0_242-release-1644-b01)
• All Android licenses accepted.
[√] Chrome - develop for the web
• Chrome at C:\Program Files\Google\Chrome\Application\chrome.exe
[√] Android Studio (version 4.1.0)
• Android Studio at C:\Program Files\Android\Android Studio
• Flutter plugin can be installed from:
https://plugins.jetbrains.com/plugin/9212-Flutter
• Dart plugin can be installed from:
https://plugins.jetbrains.com/plugin/6351-dart
• Java version OpenJDK Runtime Environment (build 1.8.0_242-release-1644-b01)
[√] Connected device (2 available)
• Web Server (web) • web-server • web-javascript • Flutter Tools
• Chrome (web) • chrome • web-javascript • Google Chrome 88.0.4324.150
谢谢!
解决方法
显然,我找到了解决方法或可能是解决方法!
问题在于,main.dart 文件在本地 Web 的热重载时运行良好,但在使用“flutter build web”完成的发布构建期间代码/UI 更改并未反映出来。我不知道这是错误还是我遗漏了一些步骤。
所以我创建了一个新项目,复制了那里的所有文件,并且只将 main.dart 文件的内容复制到了新项目的 main.dart 文件中。
经过上述步骤后,它在发布版本中按预期工作!