HTML5 FileReader等效于nodejs'fs'

问题描述:

我正在尝试使用javascript读取和写入文件。 Nodejs的fs不工作。我开始知道有一个等效的HTML5 API。HTML5 FileReader等效于nodejs'fs'

什么是HTML5的FileReader API相当于为

fs.writeFile('my.file', filedata) 
fs.readFileSync(__dirname + '/dir/leaves.file') 

+0

您正在寻找的FileReader:https://developer.mozilla.org/ en-US/docs/Web/API/FileReader –

+0

你能告诉我一个确切的等值吗?我有点困惑@GetOffMyLawn –

+0

由于明显的安全原因,web API中没有*'fs'等价物。 'fs'-> *'f'ile's'ystem *,并且浏览器不会将访问用户的文件系统的权限授予网络上的任何随机脚本。您可以使用FileReader读取文件,也可以使用XHR从服务器加载文件,或者可以要求用户从f-s中提供文件,并且可以提示用户保存文件。但是这些操作都不会直接从用户的文件系统完成,没有他的操作。 (*实际上,我们可以考虑将IndexedDB和文件系统一样......) – Kaiido

没有*由于明显的安全原因,Web API中的值相当于0。

fs - >f ile s系统,并且浏览器不会将访问用户的文件系统的权限授予网络上的任何随机脚本。

但是这些操作都不会直接从用户的文件系统中完成,没有他自己的操作。

(*实际上,我们可以认为是IndexedDB和一致好评如文件系统,但他们不能相比的fs要么...)

您可以加载使用文件FileReader像这样:

var openFile = function(event) { 
 
    var input = event.target; 
 

 
    var reader = new FileReader(); 
 
    reader.onload = function(){ 
 
     var dataURL = reader.result; 
 
     var output = document.getElementById('output'); 
 
     output.src = dataURL; 
 
    }; 
 
    reader.readAsDataURL(input.files[0]); 
 
};
<input type='file' accept='image/*' onchange='openFile(event)'><br> 
 
<img id='output'>