0

私は初心者です!ローカル フォルダーの txt ファイル内のデータをオフラインで読み取る必要があります。フォルダ パスはわかっていますが、すべてのファイルの名前はわかりません。

C:\mypath\first.txt
C:\mypath\second.txt
C:\mypath\third.txt
...

単一のファイルを読み取るには、次を使用します。

$.ajax({url:"C:\mypath\first.txt",
success:function(result){

//...code for storing the data in a variable...

}
});

名前を知らずに複数のファイルを一度に読み取るにはどうすればよいですか? 何かのようなもの:

$.ajax({url:"C:\mypath\*.txt",
success:function(result){


//...code for storing the data in a variable...

}
});

助けてくれてありがとう!

4

1 に答える 1

2

サポートされているブラウザでファイル ピッカー コントロール (つまり、<input type="file" multiple />) を使用して、反復するファイルのセットをユーザーに選択させることができます。ユーザー入力は、ファイルのリストを取得する唯一の方法です。インターネット経由でユーザーのファイル システムをいじることはできません。ユーザーのシステムについて知ることができるのは、ユーザーが (たとえば、 を通じて<input type="file" multiple />) 教えてくれることだけです。

それでも、単純な Ajax リクエストでファイルを読み取ることはできません。同一オリジン ポリシーは、ローカル ファイルに適用されます。自分のマシンでテストすればうまくいくかもしれませんが、Web にヒットするとすぐに失敗します。

ユーザーの操作なしでクライアント ファイル システムを調べる唯一の方法は、Scripting.FileSystemObjectWindows で非インターネット ベースのHTML アプリケーション(.htaファイル) で ActiveXControl を使用することです。したがって、ActiveXControls を使用したくないので、ユーザー入力が唯一のオプションです。

編集: FireFox アドオンを作成している場合は、ファイル システムにアクセスできます。詳細については、mozilla.org のドキュメントを参照してください。

于 2012-10-17T00:24:12.347 に答える