概要
ファイル コンテンツの読み取りWeb ブラウザーのクライアント側で使用することは、さまざまなアプリケーションに役立つテクニックです。 Firefox や Internet Explorer などの特定のブラウザ向けのソリューションはありますが、ブラウザ間の互換性を実現するのは困難な場合があります。この記事では、複数のブラウザでファイルの内容を読み取るためのさまざまな方法について説明します。
Mozilla File API
Firefox と Internet Explorer は、Mozilla File API を利用してファイルの読み取りを可能にします。 API は、ファイルの名前、サイズ、およびそのバイナリ内容へのアクセスを提供します。この API を使用すると、開発者は次のようにファイルの内容を取得できます。
function getFileContents() { var fileForUpload = document.forms[0].fileForUpload; var fileName = fileForUpload.value; if (fileForUpload.files) { var fileContents = fileForUpload.files.item(0).getAsBinary(); document.forms[0].fileContents.innerHTML = fileContents; } else { // Handle other browsers with different file reading methods } }
IE ファイルの読み取り
Internet Explorer では、ファイルの読み取りに ActiveXObject ライブラリを使用できます。 。その方法は次のとおりです:
function ieReadFile(filename) { try { var fso = new ActiveXObject("Scripting.FileSystemObject"); var fh = fso.OpenTextFile(filename, 1); var contents = fh.ReadAll(); fh.Close(); return contents; } catch (Exception) { return "Cannot open file :("; } }
WebKit (Safari および Chrome)
現在、WebKit ブラウザー (Safari や Chrome など) はファイルの読み取りをネイティブにサポートしていません。これに対処するには、次のいずれかを行うことができます。
ファイル API
Mozilla File API の最初の導入以来、ファイル APIは標準として形式化されており、ほとんどの最新のブラウザに実装されています。非同期読み取り、バイナリ ファイル処理、エンコード デコードのサポートなど、ファイル読み取りに対するより標準化された堅牢なアプローチを提供します。ファイル API の使用方法は次のとおりです。
var file = document.getElementById("fileForUpload").files[0]; if (file) { var reader = new FileReader(); reader.readAsText(file, "UTF-8"); reader.onload = function (evt) { document.getElementById("fileContents").innerHTML = evt.target.result; } reader.onerror = function (evt) { document.getElementById("fileContents").innerHTML = "error reading file"; } }
結論
ネイティブ ファイル読み取りサポートはブラウザーによって異なりますが、ファイル API は、ブラウザーごとに標準化されたソリューションとして登場しました。クロスブラウザーのファイル処理。この API を活用することで、開発者はクライアント側でファイルの内容を効率的に読み取ることができ、革新的な Web アプリケーションの可能性が広がります。
以上が異なるブラウザ間で JavaScript を使用してクライアント側でファイルの内容を読み取るにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。