ホームページ > ウェブフロントエンド > jsチュートリアル > ローカル テキスト ファイルを Web ブラウザに確実に読み込むにはどうすればよいですか?

ローカル テキスト ファイルを Web ブラウザに確実に読み込むにはどうすればよいですか?

Patricia Arquette
リリース: 2024-12-21 01:26:10
オリジナル
420 人が閲覧しました

How Can I Read a Local Text File into a Web Browser Reliably?

ブラウザへのローカル テキスト ファイルの読み取り

ローカル テキスト ファイルをブラウザに読み取るために、開発者は従来 XMLHttpRequest を使用していました。これを行う 1 つの方法は、ファイルのパスを取得し、テキストの各行を文字配列に変換する関数を使用することです。

function readTextFile() {
  var rawFile = new XMLHttpRequest();
  rawFile.open("GET", "testing.txt", true);
  rawFile.onreadystatechange = function() {
    if (rawFile.readyState === 4) {
      var allText = rawFile.responseText;
      document.getElementById("textSection").innerHTML = allText;
    }
  }
  rawFile.send();
}
ログイン後にコピー

ただし、このアプローチは、Firefox 以外のブラウザでは例外が発生して失敗することがよくあります。これを解決するには、開発者は JS 2015 で導入された Fetch API を使用する必要があります:

fetch("myText.txt")
  .then((res) => res.text())
  .then((text) => {
    // do something with "text"
   })
  .catch((e) => console.error(e));
ログイン後にコピー

さらに、セキュリティ上の理由から、file:/// の使用を避けることが重要です。代わりに、Python の http.server や HTTP-Server などの軽量 Web サーバーをデータの読み込みに使用することを検討してください。

XMLHttpRequest を使用してローカルでファイルを読み取ろうとすると、別の問題が発生します。これに対処するには、ローカル ファイルの読み込みではステータスが返されないため、開発者はステータス 0 を確認する必要があります:

function readTextFile(file) {
  var rawFile = new XMLHttpRequest();
  rawFile.open("GET", file, false);
  rawFile.onreadystatechange = function () {
    if(rawFile.readyState === 4)  {
      if(rawFile.status === 200 || rawFile.status == 0) {
        var allText = rawFile.responseText;
        console.log(allText);
       }
    }
  }
  rawFile.send(null);
}

readTextFile("file:///C:/your/path/to/file.txt");
ログイン後にコピー

以上がローカル テキスト ファイルを Web ブラウザに確実に読み込むにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート