我想做一个类似博客系统的Flutter Web应用程序,但是当我使用'dart:io'库时,我发现它在Flutter for Web中不支持。那么,我如何使用Flutter for Web从本地markdown文件中读取内容?谢谢!并为我的英语水平道歉。
qqrboqgw1#
我在flutter web samples repo上看到了一个例子。https://github.com/flutter/samples/blob/master/web/github_dataviz/lib/main.dart检查Future loadGitHubData() async功能。他们使用了HttpRequest.getString()方法。这是一个理想的客户端请求,正如这里的文档所示。https://api.dartlang.org/stable/2.4.0/dart-html/HttpRequest-class.html的我不确定这是否是你想要的。如果你只想访问MD文件的内容,这应该会有所帮助。但是如果你想将其处理成HTML或其他内容,你可能必须在服务器上完成。
Future loadGitHubData() async
juzqafwq2#
我遇到了同样的问题。我需要以文本形式读取.svg文件。这是我的解决方案:
import 'dart:html'; readFile(String path) async { var request = await HttpRequest.request(path); var response = request.response; return response; }
字符串
注:
使用的路径:“assets/someImage.svg”返回:文件内容作为字符串我把这条注解包括在上下文中。
nle07wnf3#
我需要读取一个本地的模拟二进制文件的网页。这个解决方案为我工作:1.将文件添加到资源:
root_folder/assets/mock/awesome_file.bin
字符串1.更新pubspec.yaml:
flutter: assets: - assets/mock/
型1.获取数据:
import 'dart:typed_data'; import 'package:flutter/services.dart' show rootBundle; Future<List<int>?> getBinaryFile() async { try { final ByteData file = await rootBundle.load('assets/mock/awesome_file.bin'); final List<int> bytes = file.buffer.asUint8List(file.offsetInBytes, file.lengthInBytes); return bytes; } on Exception catch (e) { print('Error getting the binary file: $e'); return null; } }
型
3条答案
按热度按时间qqrboqgw1#
我在flutter web samples repo上看到了一个例子。
https://github.com/flutter/samples/blob/master/web/github_dataviz/lib/main.dart检查
Future loadGitHubData() async
功能。他们使用了HttpRequest.getString()方法。这是一个理想的客户端请求,正如这里的文档所示。
https://api.dartlang.org/stable/2.4.0/dart-html/HttpRequest-class.html的
我不确定这是否是你想要的。如果你只想访问MD文件的内容,这应该会有所帮助。但是如果你想将其处理成HTML或其他内容,你可能必须在服务器上完成。
juzqafwq2#
我遇到了同样的问题。我需要以文本形式读取.svg文件。这是我的解决方案:
字符串
注:
使用的路径:“assets/someImage.svg”
返回:文件内容作为字符串
我把这条注解包括在上下文中。
nle07wnf3#
我需要读取一个本地的模拟二进制文件的网页。这个解决方案为我工作:
1.将文件添加到资源:
字符串
1.更新pubspec.yaml:
型
1.获取数据:
型