- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试读取用户目录中的所有文件并在文本框中显示其内容。
读取单个文件效果很好,但是,当我尝试读取整个目录时,事情变得很奇怪。
遍历目录时,仅正确读取目录中的最后一个文件。无论目录中有多少文件,此行为都是一致的。
这是我用来读取文件的代码:
results.forEach(function(item) {
reader = new FileReader();
// This line is reached
console.log("filename: " + item.name);
item.file(function(File) {
// This one only for the last file in that directory
reader.readAsText(File);
console.log("success");
});
// This line is reached
console.log("read: " + item.name);
});
这是日志(来自开发工具):
filename: app.js
read: app.js
filename: main.js
read: main.js
filename: SharedPreferences.js
read: SharedPreferences.js
filename: KeyConstants.js
read: KeyConstants.js
success
如果您有任何问题,请询问他们,我已经尝试了几个小时了,我已经慢慢厌倦了一遍又一遍的失败..
最佳答案
发生这种情况是因为 FileReader
异步工作,这大约意味着它在代码继续执行的同时开始执行任务(读取文件)。如果您想在加载完成后立即对每个文件的结果执行某些操作,则需要使用此方法:
reader.onloadend = function(evt) {
// file is loaded
// do something with evt.target object
};
关于javascript - readAsText(file) 只读取目录中的最后一个文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42496459/
我完全不熟悉 javascript(Hello World Level),我在谷歌中进行了大量搜索,但甚至找不到一个结果来解释 ReadAsText() 方法获得的参数。我试图输入文件地址和编码格式,
我正在尝试读取用户目录中的所有文件并在文本框中显示其内容。 读取单个文件效果很好,但是,当我尝试读取整个目录时,事情变得很奇怪。 遍历目录时,仅正确读取目录中的最后一个文件。无论目录中有多少文件,此行
如何防止用户选择要读取的文件并将其固定到我的代码的特定文件: onLoadFile = function(e) { var file = e.target.file
我已经实现了以下代码来通过 解析 CSV选择: export async function parse(file: File) { let content = ''; const reade
我想在我的本地机器上读取一个文本文件并将内容放入一个变量中。我发现的所有示例都使用输入按钮(type =“file”),该按钮传递一个参数,该参数被函数收集为“evt”。我只是传递一个文件名,例如“m
我正在尝试使用 readAsText ngCordova 插件读取 CSV 文件的内容。 只有当文件编码为unicode时我才能做到这一点,但大多数CSV文件都是Shift-JIS。当文件为 Shif
我正在开发一个html项目,其中用户上传一个txt文件,其内容被进一步处理并显示结果。上传和处理步骤工作正常,但不知何故,结果从未显示。 (对我来说)令人困惑的部分是,如果我在处理和结果呈现之间添加一
我正在使用 Cordova 文件插件读取本地文件系统上的 JSON。除了一些我收到错误的文件外,它工作得很好: SyntaxError: Unexpected EOF 这些文件可能有错误的字符,我需要
我为本地文件处理创建了一个测试,但无法获取"file"类型以返回 Chrome 或 Firefox 中的任何内容。 Chrome 没有给出任何错误,并且表现得好像从未调用过 FileReader(),
当 readAsText() 函数完成时,结果存储在 .result 中 如何在.result中查看读取的文件内容是否正确? fr = new FileReader(); fr.readAsTex
我编写了以下代码来使用 HTML5 文件 API 检查上传的文件是否存在。 Add Document 以下 JavaScript 代码已映射到它,如下所示: function addDoc() {
我使用 http 和 cordova 文件 readAsText 函数读取 json 文件。 http请求返回一个对象,这是可以的。 cordova 文件 readAsText 函数返回“字符串”,其
所以我正在尝试使用 phonegap 文件 API 来保存并稍后在应用程序中加载文件。保存似乎有效,但读取文件会引发此错误: processMessage failed: Stack: TypeErr
举个例子,当我使用 FileReader API 从文件中读取 π 字符 (\u03C0) 时,当我使用 FileReader 读取它时,我会将 pi 字符返回给我.readAsText(blob)
我在 Mac OS X 上使用 Chrome 12,我在文档中包含了 jQuery 1.6.1。 我尝试以文本形式读取文件内容并将其保存在具有以下功能的数据对象中: this.upload = fun
我正在尝试读取 CSV 或 Excel 文件以将其转换为表格。现在我刚刚创建了一个类来读取输入文件: 输入是: 现在我刚刚创建了一个类来读取输入文件: class InputReader_tiqe
调整 How FileReader.readAsText in HTML5 File API works? 后代码达到我的目的。它给了我一个错误。 Uncaught TypeError: Cannot
在 HTML 文件中,我创建了一个上传文件的按钮: Upload 在 JavaScript 文件中: //this event click event on the upload buttom, a
我正在使用 Phonegap 下载文件,解压缩,然后读取文件。在我尝试将文件作为文本读取之前,一切正常。如果我使用 readAsDataURL(),那么我会将一大堆内容记录到控制台。 function
我找到了图片上传预览的代码,我很困惑 FileRead() 是怎么回事? var openFile = function(event) { var input = event.target;
我是一名优秀的程序员,十分优秀!