javascript 入力画像のアップロードとプレビュー、FileReader プレビュー画像

javascript 入力画像のアップロードとプレビュー、FileReader プレビュー画像

FileReader は、フロントエンドのファイル処理、特に画像処理にとって重要な API です。画像処理の原理を知りたい場合は、これを回避することはできません。

<!DOCTYPE html>
<html>
	<ヘッド>
		<メタ文字セット="utf-8">
		<タイトル></タイトル>
		<スタイル タイプ="text/css">
		.file-ipt{position: absolute;left:0;top: 0;opacity: 0;width: 50px;height: 25px;} //ここで入力ボックスを透明にし、ボタン上に絶対配置します。 .btn{width: 50px;height: 25px; background-color: skyblue;color: white;margin-right: 80px;border: none;border-radius: 10px;font-size: 8px;}
		</スタイル>
	</head>
	<本文>
		<button class="btn">画像</button>
		<input type="file" id="file" accept="image/jpg,imgae/jpeg,image/png" class="file-ipt" onchange="insertimg(this);"><br>
		<img src="" id="img1" alt="">
		<スクリプト言語="javascript">
			関数 insertimg(img){
				var rd = 新しいFileReader();
				ファイル=img.files[0];
				var ファイルタイプ = files.type.slice(6,10);
				ファイルタイプ!='jpg'&&ファイルタイプ!='jpeg'&&ファイルタイプ!='png'){
					alert('png、jpeg、jpg の画像形式のみがサポートされています');
					戻る;
				}それ以外{
					rd.readAsDataURL(ファイル);
					rd.onloadend=関数(e){
						document.getElementById('img1').src=e.target.result;
						document.getElementById('img1').style.width="300px";
						document.getElementById('img1').style.height="auto";
					};
				}
			}
		</スクリプト>
	</本文>
</html>

知識ポイント補足:JS入力ファイル画像アップロードプレビュー効果

まず、ファイルと FileReader API について学習します。1 つ以上のファイルを選択すると、選択したファイルを表す 1 つ以上の File オブジェクトにアクセスできます。これらのオブジェクトは、FileList オブジェクトに含まれています。 type 属性が file であるすべての <input> 要素には、ユーザーが選択したファイルを保存するための files 属性があります。 Files には length プロパティと item メソッドがあります。files[index] または files.item(index) を通じて、選択したファイル オブジェクトを取得できます。変更イベントを使用して、入力ファイルの入力完了イベントをリッスンできます。

HTMLコード:

 <ul class="crgoods_uploadUl clearfix">
     <li><img src="img/product1.jpg"></li>
     <li><img src="img/product1.jpg"></li>
     <li class="add"><i>+</i>最大 20 枚の写真<input type="file" class="liAdd_flie" onchange="liUploadImg(this)"></li>
</ul>

jsコード:

//商品アルバム画像アップロードプレビュー関数liUploadImg(file){     
        if (file.files && file.files[0]){
            var リーダー = 新しい FileReader();
            reader.onload = 関数(evt){ 
                // imgUpload.src = evt.target.result;
                $('.crgoods_uploadUl li.add').before('<li><img src="'+evt.target.result+'"></li>');   
            }
            リーダー.readAsDataURL(file.files[0]);
        }それ以外{ 
            var sFilter = 'filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(sizingMethod=scale,src="';
            ファイルを選択します。
            var src = document.selection.createRange().text;
            imgUpload.filters.item('DXImageTransform.Microsoft.AlphaImageLoader').src = src;
        }
    }

また、詳細なAPIについては、https://segmentfault.com/a/1190000006600936を参照してください。

次に例を示します。

これで、JavaScript 入力画像のアップロードとプレビュー、FileReader プレビュー画像に関するこの記事は終了です。JavaScript ファイルのアップロードとプレビューに関するその他の関連コンテンツについては、123WORDPRESS.COM の以前の記事を検索するか、次の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。

以下もご興味があるかもしれません:
  • 画像のアップロードとプレビュー機能を実現するjs
  • jsを使用して写真をアップロードし、通常通り表示します
  • アップロードした写真のプレビューを実現する js メソッド
  • jsを使用して画像アップロードの即時表示効果を実現します

<<:  データベースの冗長フィールドを合理的に使用する方法

>>:  Linux 仮想マシンの IP アドレスを変更し、ゲートウェイを確認し、ネットワーク環境を構成する方法に関するチュートリアル

推薦する

Mysql varchar型の合計操作例

友人の中には、データベースについて学習しているときに、テーブル構造を作成するときに誤ってフィールドを...

Centos7 での MySQL のインストールに関するチュートリアル

最近、自宅サーバーにクラウドディスクを導入する予定なので、一連の環境構築作業を始めました。MySQL...

MySQL における楽観的ロック、悲観的ロック、MVCC の包括的な分析

序文データベースの実際の使用では、データの書き込みや読み取りを同時に行わないことが必要な状況によく遭...

MySQL で重複時間を削除して時間差を計算する実装

目次必要:ドライブ:アイデア:成し遂げる:個人的には、実際の開発ではストアド プロシージャの使用はお...

1 つの記事で Vue ミドルウェア パイプラインを学ぶ

SPA を構築する場合、多くの場合、特定のルートを保護する必要があります。たとえば、認証されたユーザ...

Linux ログ表示方法 6 つのまとめ

バックエンド プログラマーは、さまざまな場所で Linux を扱います。Linux ログの読み方がわ...

Mysql で自動増分主キー ID を更新するときに問題が発生しました

目次自動インクリメント ID を更新する理由は何ですか?質問解決方法これは私が知っている問題ですが、...

MySQL データベース シェル import_table データ インポート

目次MySQL Shell import_table データのインポート1. import_tabl...

Vueのdiffアルゴリズムについての簡単な説明

目次概要バーチャルドム原理実装プロセスパッチ方式sameVnode関数patchVnode関数upd...

WeChatアプレットシングルページアプリケーションルーティングを徹底的に理解するための10分

シングルページアプリケーションの特徴「前提:」Web ページには、クリックするとサイト内の他のページ...

Linux dirnameコマンドの具体的な使い方

01. コマンドの概要dirname - ファイル名からディレクトリ以外のサフィックスを削除しますd...

Linux DHCPサービスの詳細な説明

目次1. DHCP サービス (動的ホスト構成プロトコル) 1. 背景2. 概要3. 利点4.DHC...

Vueプロジェクトをパッケージ化してリリースする手順

目次1. 開発環境から本番環境への移行2. 統一されたリクエストパスを設定する3. パッケージ化コマ...