2017-08-30 56 views
0

我正在嘗試使用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

回答

1

沒有*由於明顯的安全原因,Web API中的值相當於0。

fs - >f ile s系統,並且瀏覽器不會將訪問用戶的文件系統的權限授予網絡上的任何隨機腳本。

但是這些操作都不會直接從用戶的文件系統中完成,沒有他自己的操作。

(*實際上,我們可以認爲是IndexedDB和一致好評如文件系統,但他們不能相比的fs要麼...)

0

您可以加載使用文件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'>