「JavaScript]inputのfileタグでディレクトリを指定する

2021年11月17日

1.webkitdirectory属性を追加して、ディレクトリ選択をすることができます
htmlコード

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
<input type="file" id="filepicker" name="fileList" webkitdirectory multiple />
<ul id="listItem"></ul>
<input type="file" id="filepicker" name="fileList" webkitdirectory multiple /> <ul id="listItem"></ul>
<input type="file" id="filepicker" name="fileList" webkitdirectory multiple />
<ul id="listItem"></ul>

2.ディレクトリでファイル選択されたものは、以下のようにJavaScriptから読み取る
JavaScriptコード

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
document.getElementById("filepicker").addEventListener("change", function(event) {
let output = document.getElementById("listItem");
let files = event.target.files;
for (let i=0; i<files.length; i++) {
let item = document.createElement("li");
item.innerHTML = files[i].webkitRelativePath;
output.appendChild(item);
};
}, false);
document.getElementById("filepicker").addEventListener("change", function(event) { let output = document.getElementById("listItem"); let files = event.target.files; for (let i=0; i<files.length; i++) { let item = document.createElement("li"); item.innerHTML = files[i].webkitRelativePath; output.appendChild(item); }; }, false);
document.getElementById("filepicker").addEventListener("change", function(event) {
  let output = document.getElementById("listItem");
  let files = event.target.files;

  for (let i=0; i<files.length; i++) {
    let item = document.createElement("li");
    item.innerHTML = files[i].webkitRelativePath;
    output.appendChild(item);
  };
}, false);

 

JavaScript

Posted by arkgame