ホームページ  >  記事  >  ウェブフロントエンド  >  更新不要のアップロードを実現するJavaScriptプレビュー画像機能

更新不要のアップロードを実現するJavaScriptプレビュー画像機能

巴扎黑
巴扎黑オリジナル
2017-08-05 11:44:561377ブラウズ

この記事では、JavaScript を使用して、更新せずにプレビュー画像をアップロードする簡単な機能を実装する方法を紹介します。

この記事では、FormData と FileReader の 2 つを使用します。

FileReaderは画像閲覧に使用します。

FormData は ajax リクエストに使用されます。

html コード

まず、フォームと画像のコンテナを作成する必要があります。


  <form enctype="multipart/form-data" id="oForm">
    <input type="file" name="file" id="file" onchange="readAsDataURL()" />
    <input type="button" value="提交" onclick="doUpload()" />
  </form>
  <p>
    <img alt="" id="img"/>
  </p>

javascript コード

FormData:

FormData オブジェクトを使用して、XMLHttpRequest を使用してリクエストを送信するためのキーと値のペアのセットを組み立てることができます。フォームのエンコード タイプが multipart/form-data に設定されている場合、FormData を通じて送信されるデータ形式は、フォームから submit() メソッドを通じて送信されるデータ形式と同じです。

ここで、FormData オブジェクトはフォーム内のすべての入力データを取得し、ajax リクエストを使用して指定された URL にデータを送信します。これにより、フォームの送信時にジャンプが発生しません。


  function doUpload() { 
     var formData = new FormData($( "#oForm" )[0]); 
     console.log(formData); 
     $.ajax({ 
       url: &#39;pp&#39;, 
       type: &#39;POST&#39;, 
       data: formData, 
       async: false, 
       cache: false, 
       contentType: false, 
       processData: false, 
       success: function (returndata) { 
         console.log(returndata); 
       }, 
       error: function (returndata) { 
         console.log(returndata); 
       } 
     }); 
  }

FileReader:

FileReader オブジェクトを使用すると、Web アプリケーションは、指定する File または Blob オブジェクトを使用して、ユーザーのコンピューターに保存されているファイル (または生データ バッファー) の内容を非同期的に読み取ることができます。ファイルまたはデータを読み取るもの。

ここでの FileReader オブジェクトは、ファイルから画像を取得し、その画像をデータ URL フォームに変換して、事前に作成されたコンテナーに表示するために使用されます。


りー

以上が更新不要のアップロードを実現するJavaScriptプレビュー画像機能の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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