[英]javascript multiple file reading by directory
我正在嘗試創建一個站點,該站點讀取預定義文件夾中的所有文本。 我找到了一個我想要的代碼,但在此代碼中,您必須通過文件輸入選擇文件。 我想讓它自動讀取文件夾中所有文件的文本並打印它們。
我發現的代碼:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
<label>Select multiple files to read from your system:</label>
<input type="file" id="fileinput" multiple />
<script>
/**
* Simple JavaScript Promise that reads a file as text.
**/
function readFileAsText(file){
return new Promise(function(resolve,reject){
let fr = new FileReader();
fr.onload = function(){
resolve(fr.result);
};
fr.onerror = function(){
reject(fr);
};
fr.readAsText(file);
});
}
// Handle multiple fileuploads
document.getElementById("fileinput").addEventListener("change", function(ev){
let files = ev.currentTarget.files;
let readers = [];
// Abort if there were no files selected
if(!files.length) return;
// Store promises in array
for(let i = 0;i < files.length;i++){
readers.push(readFileAsText(files[i]));
}
// Trigger Promises
Promise.all(readers).then((values) => {
// Values will be an array that contains an item
// with the text of every selected file
// ["File1 Content", "File2 Content" ... "FileN Content"]
console.log(values);
});
}, false);
</script>
</body>
</html>
謝謝!
你可以要求一個 DirectoryHandle,將它保存到 IndexedDB 並在任何時候重用它
const handle = await window.showDirectoryPicker()
也可以通過拖放獲得句柄
const handle = await dataTransfer.items[0].getAsFileSystemHandle()
還有一個沙盒目錄,您可以使用navigator.storage.getDirectory()
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.