2

ディレクトリを読み取り、それらのファイルの名前をリストに入力したいと思います。

javascriptを使用してこのタスクを実行することは可能ですか?

4

6 に答える 6

4

いいえ、できません。誰かにあなたのディレクトリの内容を読んでもらいたいですか?

更新webkitdirectory:属性を使用することで得られる可能性のある最も近いものだと思います:

HTML

<input type="file" id="file_input" webkitdirectory="" directory="" />
<div id="list_of_files"></div>
...

JS

var $list = $('#list_of_files');
$('#file_input').change(function(event) {
  var listOfFiles = event.target.files;
  for (var i = 0, l = listOfFiles.length; i < l; ++i) {
     $list.append($('<p>'+ listOfFiles[i].name +'</p>'));
  }
});

...ここに示すように。ただし、Chromeでのみ機能します(mozdirectory属性の推奨される使用法は役に立ちませんでした)。

于 2012-07-04T15:37:17.950 に答える
4

いいえ、セキュリティ上の理由から。

ActiveXまたはFlashを呼び出し、ユーザーにこれらのプラグインからのファイルシステムアクセスを許可することに同意してもらうことで、それを実行できる場合がありますが、許可しないでください。

10年後の編集:これを行わないでください。更新なしで古いデバイスを使用する以外に、Flash/ActiveXではこれを行うことはできません。

于 2012-07-04T15:37:38.810 に答える
2

オブジェクトの使用を試みることはできFileReaderますが、ブラウザでは十分にサポートされていません。

于 2012-07-04T15:39:12.790 に答える
1

グーグルクロームでは、クライアントにディレクトリを選択するように促し、これを使用してディレクトリとそのサブディレクトリに含まれるファイルを一覧表示できます。

<input type="file" webkitdirectory onchange="listContents(this.files)">

listContentsあなたの実装になります。

于 2012-07-04T15:39:56.407 に答える
0

セキュリティ研究などをしているのかわからないので、「やってはいけない」と言うだけでなく、書き下ろしのJSコードを利用して実際にファイルを読むことができるのです。 、それがあなたがコーディングしなければならない理由です..防御的に。

次に、これがあります:http ://www.html5rocks.com/en/tutorials/file/dndfiles/

于 2012-07-04T15:40:44.860 に答える
0

はい、お使いのブラウザによって異なります。

一般的な方法ではありませんが、Chrome などの特定のブラウザー (webkitRequestFileSystem でサポートされている requestFileSystem を使用) や、File System Object を使用する Internet Explorer を使用できます。

于 2012-07-04T15:43:13.273 に答える