ホームページ >ウェブフロントエンド >jsチュートリアル >JS の FileReader は画像アップロードのプレビューを実装します

JS の FileReader は画像アップロードのプレビューを実装します

php中世界最好的语言
php中世界最好的语言オリジナル
2018-04-18 13:44:271939ブラウズ

今回は、JS で FileReader を使用して画像アップロードのプレビューを紹介します。JS で FileReader を使用して画像アップロード プレビューを実装する場合の 注意事項 は何ですか? 以下は実際的なケースです。

JavaScript FileReader を使用して画像アップロードのプレビュー効果を実現することについて混乱している人がほとんどですが、次の記事で詳細な操作方法を説明します。とコードを一緒に見てみましょう。

FileReader は HTML5 ファイル API の一部です。非同期ファイル読み取りメカニズムを実装します。 FileReader は XMLHttpRequest と考えることができます。唯一の違いは、リモート サーバーではなく

ファイル システム を読み取ることです。 ファイル内のデータを読み取るために、FileReader は次のメソッドを提供します。

  • readAsText(file,encoding): ファイルをプレーンテキストで読み取り、読み取ったファイルを result 属性に保存します。

  • readAsDataURL(file): ファイルを読み取り、データ URI の形式で result 属性にファイルを保存します。
  • readAsBinaryString(file): ファイルを読み取り、文字列内の各文字は 1 バイトを表します。
  • readAsArrayBuffer(file): ファイルを読み取り、ファイル

    の内容を含む ArrayBuffer を result 属性に保存します。
  • multiple 属性は複数の画像のサポートを示します

  • <p id="wrapper">    
     <input id="fileUpload" type="file" multiple /><br />
     <p id="image-holder"> </p>
    </p>
    $("#fileUpload").on('change', function () {
     
      //获取上传文件的数量
      var countFiles = $(this)[0].files.length;
     
      var imgPath = $(this)[0].value;
      var extn = imgPath.substring(imgPath.lastIndexOf('.') + 1).toLowerCase();
      var image_holder = $("#image-holder");
      image_holder.empty();
      if (extn == "gif" || extn == "png" || extn == "jpg" || extn == "jpeg") {
        if (typeof (FileReader) != "undefined") { 
          // 循环所有要上传的图片
          for (var i = 0; i < countFiles; i++) {
     
            var reader = new FileReader();
            reader.onload = function (e) {
              $("<img />", {
                "src": e.target.result,
                  "class": "thumb-image"
              }).appendTo(image_holder);
            }
            image_holder.show();
            reader.readAsDataURL($(this)[0].files[i]);
          }
        } else {
          alert("你的浏览器不支持FileReader!");
        }
      } else {
        alert("请选择图像文件。");
      }
    });

    FileReader は、Internet Explorer 10 以降、FireFox、Chrome、および Opera ブラウザをサポートしています。

  • この記事の事例を読んだ後は、この方法を習得したと思います。さらに興味深い情報については、php 中国語 Web サイトの他の関連記事に注目してください。

推奨読書:

node.js でデコレータ パターンを実装する方法

Django の複数のデータベースを使用するための詳細な手順

以上がJS の FileReader は画像アップロードのプレビューを実装しますの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。