在 Javascript 中读取文件而不会阻塞 I/O
Read a file in Javascript without blocking I/O
如何使用FileReader()
读取文件而不会在读取时阻塞I/O?以下是我现在的做法:
function readImageFile(imageFile, callback) {
var reader = new FileReader();
reader.onload = function(e) {
callback(e.target.result);
};
reader.readAsDataURL(imageFile);
}
除了我需要处理非常大的图像(> 4k 分辨率)需要相当长的时间之外,这工作正常。我不能阻止用户输入在阅读时使用页面上的其他功能。
我相信
FileReader
已经是异步的:https://developer.mozilla.org/en-US/docs/Web/API/FileReader
文件读取器对象允许 Web 应用程序异步读取 存储在用户计算机上的文件(或原始数据缓冲区)的内容, 使用文件或 Blob 对象指定要读取的文件或数据。
FileReaderSync
将是同步版本:https://developer.mozilla.org/en-US/docs/Web/API/FileReaderSync
FileReader.readAsDataURL
是异步的。根据定义,它不会阻止 UI(https://www.w3.org/TR/FileAPI/)。但是要处理文件,计算机需要花费一些资源,因此您需要考虑这一点。处理大文件可能会占用大量资源。
相关文章:
- 使用Dnamics CRM 2011中的JavaScript读取子网格的所有记录,而不考虑活动页面
- 通过传递图像的URL通过javascript读取/处理图像-类似于PHP中的file_get_contents
- 使用Javascript读取Webstorage表单数据
- 函数式javascript读取、异步、写入结果
- 使用Javascript读取CSS文件并动态更改页面
- 使用javascript读取和写入json文件
- 正在以javascript读取本地csv文件
- 用javascript读取文本文件的第一行
- 使用javascript读取本地XML文件并在html页面中显示
- 使用Javascript读取当前目录的文件名
- 从JavaScript读取动态内容
- 使用 javascript 读取.txt文件
- 使用 Javascript 读取目录的内容
- 使用 c# 编写 cookie,使用 javascript 读取
- 获取由 javascript 读取的数组文本字段值
- 使用 Javascript 读取文本文件
- 使用javascript读取文件
- 使用jQuery或JavaScript读取属性文件
- Json通过Javascript读取数据
- Javascript-读取文本框长度