2009-05-01 2 views
2

ファイル入力コントロールで選択されたファイルの内容を読み取ることはできますか?私は次のようなことをしたい:javascriptの<input type = file>からファイルを傍受することはできますか?

<input type="file" id="fileInput" onblur="readFile(this)"/> 

<script language="javascript"> 
    function readFile(file) { 
    document.write(file); 
    } 
</script> 

このようなことは何ですか?またはファイルをアップロードするだけで、ファイルがサーバーに送信されます。

答えて

2

Firefoxでも可能ですが、標準化されていないため、ブラウザ間で移植することはできません(WebKitではサポートしていません)。おそらく、サーバーにファイルをアップロードしてから、XMLHTTPRequestを使用してファイルを再度ダウンロードすることをお勧めします。

+0

これは良い提案ですが、残念ながらクライアント側で完全に実行できる必要があります。このアプリはCDで配布することができます。 – alumb

+0

その場合、ユーザーがFirefoxを使用することを保証できない限り、運が悪いです。 –

+0

いいえ、95%はIE(おそらく6)、残りは不明です。だからそれはクロスブラウザである必要があります。 – alumb

0

多くのブラウザではおそらく不可能です。任意のjavascriptに、ユーザーの資格情報を使用してファイルシステム内の任意のファイルを読み取る機能を与えたらどうなりますか?悪いこと。悪意のあるjavascriptは、ファイルデータを簡単に取得してサーバーに戻すことができ、バックグラウンドですべてのファイルを静かにスヌーピングします。

私はこれが可能であるとは思っていません。

クライアント側だけが必要な場合は、なぜWebアプリケーションを使用しているのですか?これが表示できる唯一のファイルはプレーンテキストなので、コンテンツをもっと簡単に見る方法があります。

+1

彼は任意のファイルへの任意のアクセスについては問いませんでした。彼はあなたがfileinputコントロールを使ってアップロードのために選択したファイルから読むことができるかどうか尋ねました。サーバーにアップロードするファイルを選択するのとまったく同じ方法です。 –

1

HTA(Hypertext Terminal Application、http://msdn.microsoft.com/en-us/library/ms536496(VS.85).aspxを参照)を使用することができます。そうすれば、Internet Explorerに縛られますが、ファイル、レジストリなどに自由にアクセスできます。セキュリティ上の問題が(もちろん)あります。

関連する問題