【发布时间】:2026-02-17 11:25:01
【问题描述】:
我正在尝试在 Dartium 浏览器上使用 Dart 从机器读取文件(为此在我的桌面上制作了一个简单的 .txt 文件)。
我有一个输入字段,向它添加了一个侦听器,它的外观如下:
void _onFileSelect(event) {
dom.File file = _fileInput.files.item(0);
dom.FileReader reader = new dom.FileReader();
//reader.readAsBinaryString(file);
reader.addEventListener('load', (event) {
print(reader.result); // This is the line I am having the problem with.
});
reader.readAsText(file);
}
当我选择文件时,我得到错误:
堆栈跟踪:0。函数:'Object.noSuchMethod' url:'bootstrap' line:717 col:3
在我使用内联注释标记的行上。
我还设置了一个脚本来执行带有所需标志的 Dartium:
#!/bin/sh
cd /opt/DartEditor/dart-sdk/chromium
./chrome.exe --allow-file-access-from-files $@
谁能给出问题所在的提示?
附:我正在使用 Ubuntu Precise x64。
【问题讨论】:
-
好吧,我不明白。您想读取不在“服务器端”而是在客户端的文件? '''print(reader.result);''' 应该在哪里显示文本?我也是初学者,但是当我使用打印时,AFAIK 仅在 DartEditor 的控制台中打印文本。
-
是的,我想读取本地文件。正如我所说,它位于我的桌面上。据我所知,打印会在日志中打印一条消息,无论它是什么。默认情况下,它将打印到 DartEditor 控制台,但如果您在浏览器中打开 Web 控制台,它将开始打印。我使用这段代码只是为了测试它是否可以读取文件,而貌似不能。