Javascript
 Computer >> コンピューター >  >> プログラミング >> Javascript

JavaScriptでアップロードする前に画像をプレビューする


セキュリティ上の理由から、ブラウザは入力を介して選択された画像ファイルのパスにアクセスすることを許可していません。つまり、ブラウザのJavaScriptはファイルシステムにアクセスできません。したがって、私たちのタスクは、入力を介して選択された画像ファイルをプレビューしてから、サーバーやその他の場所に送信することです。

方法1:URLクラスを使用する:

URLクラスのcreateObjectURL()関数を使用して、入力によって選択された画像のURLを作成し、そのURLをimgタグのsrc属性に提供できます。

このためのコードは-

になります
<img id="preview"/>
<input type="file" accept="image/*" onchange="previewImage(event)">
<script>
   const previewImage = e => {
      const preview = document.getElementById('preview');
      preview.src = URL.createObjectURL(e.target.files[0]);
      preview.onload = () => URL.revokeObjectURL(preview.src);
   };
</script>

方法2:FileReaderクラスの使用:

このメソッドは、によって取り込まれたファイルを解析してから、画像のbase64表現を含む文字列を作成します。

このためのコードは-

になります
<img id="preview"/>
<input type="file" accept="image/*" onchange="previewImage(event)">
<script>
   const previewImage = e => {
      const reader = new FileReader();
      reader.readAsDataURL(e.target.files[0]);
      reader.onload = () => {
         const preview = document.getElementById('preview');
         preview.src = reader.result;
      };
   };
</script>

出力

両方のメソッドの出力は次のようになります-

JavaScriptでアップロードする前に画像をプレビューする


  1. JavaScriptのimage()オブジェクト。

    画像オブジェクトはHTML要素を表します。 以下はJavaScriptの画像オブジェクトのコードです- 例 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" /> <title>Document</title> &

  2. JavaScriptで使用してキャンバスに画像を描画する

    以下は、JavaScriptを使用してキャンバスに画像を描画するためのコードです- 例 <DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" /> <title>Document</title> <style>