无法从 Flutter Web 读取 .txt 文件

Posted

技术标签:

【中文标题】无法从 Flutter Web 读取 .txt 文件【英文标题】:unable to read .txt file from flutter web 【发布时间】:2021-05-13 10:27:12 【问题描述】:

我正在尝试从 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

谢谢!

【问题讨论】:

我认为这不一定是 Flutter 相关的问题,而不是服务器相关的问题。我建议研究如何启用来自其他客户端的连接以访问该文件。您是否在 Web 服务器上使用任何类型的身份验证?这个文件有访问限制吗?这些只是需要研究的几件事。我不是 IIS 管理员,所以我无法为您提供更多帮助。干杯。 【参考方案1】:

显然,我找到了解决方法或可能是解决方法!

问题是,main.dart 文件在本地 Web 的热重载时运行良好,但代码/UI 更改在使用“flutter build web”完成的发布构建期间没有反映出来。我不知道它是一个错误还是我错过了一些步骤。

所以我创建了一个新项目,复制了那里的所有文件,并且只将 main.dart 文件的内容复制到了新项目的 main.dart 文件中。

经过上述步骤,它在发布版本中按预期工作!

【讨论】:

以上是关于无法从 Flutter Web 读取 .txt 文件的主要内容,如果未能解决你的问题,请参考以下文章

Flutter Web和Firebase身份验证TypeError:无法读取未定义的属性'app'

Flutter - 从资产中读取文本文件

从 URL 下载 TXT 文件并保存到 Flutter Web 上的 PC

怎么解决读取txt文件读取时中文乱码问题

将firebase添加到flutter web时出现问题,TypeError:无法读取未定义的属性(读取“应用程序”)

如何让 MS Access 以特定时间间隔从 .txt 文件中读取?