HTMLベースの複数画像アップロードのプレビュー機能を実装

HTMLベースの複数画像アップロードのプレビュー機能を実装

最近、Web ページに複数の画像をアップロードするためのスクリプトを作成しました。これは非常に実用的だと思います。詳細には触れず、コードだけを投稿します。

 <ヘッド>
<スタイル>
.pro_img{ margin-left:10px;margin-top:10px;width:300px;height: 300px;background-color: black; --border-radius:999em; overflow:hidden;float:left; --margin:5% 35%;position: relative;}
.pro_img img{ 位置: absolute; 左: 50%; 上: 50%; 変換: translate(-50%,-50%); 幅: 100%
}
.pro_img {位置:相対}
.pro_img 入力{位置: 絶対;幅: 100%;高さ: 100%;余白: 0;不透明度: 0;z-index: 100;}
</スタイル>
<script type="text/javascript" src="jquery.min.js"></script>
<スクリプト>
名前_pic=1;
関数 t1(o){
//アラート(name_pic);
    if(o==1 || name_pic!=1){
    var file="ファイル"+o;
    var img="img"+o;
    var hid="hidden"+o;
    var aa="a"+o;
    }それ以外{
    var file="ファイル"+name_pic;
    var img="画像"+name_pic;
    var hid="hidden"+name_pic;
    var aa="a"+name_pic;
    }
    var docObj = document.getElementById(ファイル);
    var imgObjPreview = document.getElementById(img);
    var hidden = document.getElementById(hid);
    // アラート(非表示);
    docObj.files が docObj.files[0] の場合
        hidden.src=window.URL.createObjectURL(docObj.files[0]); //ファイルのパスを取得しますhidden.onload=function(){
            var width=hidden.width;
            var height=hidden.height;
            var a = document.getElementById(aa);
                幅>高さの場合{
                imgObjPreview.style.cssText='width:100%'; //CSSスタイルを書き換える}else{
                imgObjPreview.style.cssText='高さ:100%;幅:自動;';                  
                }
        imgObjPreview.src = window.URL.createObjectURL(docObj.files[0]);
        imgObjPreview.style.display = 'ブロック';
        }
    }それ以外{
        false を返します。
    }
    if(o==name_pic){
        var count=$('.pro_img').length;
        カウント<6の場合{
        名前_pic++;
    var pic_div="<a class='pro_img' id='a"+name_pic+"' ><input type='file' id='file"+name_pic+"' accept='image/*' multiple='multiple' name='pic[]' onchange='t1("+name_pic+")'/><img src='upload.jpg' id='img"+name_pic+"'></a><img id='hidden"+name_pic+"' style='display:none;'>";
    $('#upload').append(pic_div); 
    }       
}
}
</スクリプト>
</head>
<!-- multiple='複数' -->
<form action="upload/2022/web/><img src='upload.jpg' id='img1'></a>
<img id='hidden1' style='display:none;'>
</div>
<input type='submit' value="アップロード" />
</フォーム>

upload.png画像を自分で置き換えることでニーズを満たすことができます。画像をクリックしても反応しない場合は、jqueryを追加することを忘れないでください。

以上が、HTML ベースの複数画像アップロードプレビュー機能についてご紹介した内容です。お役に立てれば幸いです。ご質問がございましたら、メッセージを残していただければ、すぐに返信させていただきます。また、123WORDPRESS.COM ウェブサイトをサポートしてくださっている皆様にも感謝申し上げます。

<<:  vue+elementui+vuex+sessionStorage を使用して履歴タグ メニューを実装するためのサンプル コード

>>:  IE10 のパスワードクリアテキスト表示とクイッククリア機能を無効にする方法

推薦する

nginx を使用して正規表現で指定された URL リクエストを傍受する方法

nginx サーバーnginx は、静的ファイルの処理に非常に効率的な優れた Web サーバーです。...

Docker ロード後にイメージ名が none になる問題の解決方法

最近、docker load -i コマンドを使用してイメージ パッケージを圧縮した後、イメージ名と...

Lua モジュールを使用して WAF を実装する Nginx の原理の分析

目次1. WAFの背景2. WAFとは3. 動作原理4. WAF機能5. WAFと従来のファイアウォ...

ウェブデザインの経験とスキルの概要

■ ウェブサイトのテーマ計画 ウェブサイトのテーマが断片化しすぎないように注意してください。一般的に...

MySQL テーブル全体の暗号化ソリューション keyring_file の詳細な説明

例示するMySql Community Edition は、5.7.11 以降、テーブルベースのデー...

Docker で Ubuntu に Python3 と Pip をインストールする際の問題

文章1) Ubuntuイメージをダウンロードする docker プル Ubuntu 2) 画像を見る...

Vue2で配列の変更を検出できない理由と解決策

目次回避策Vue2.0 で 2 つの配列の変更を監視できないのはなぜですか?ソースコード分析ヴュー3...

Vueスロットの実装原理についての簡単な説明

目次1. サンプルコード2. 現象を通して本質を見抜く3. 実施原則4. 親コンポーネントのコンパイ...

AIX マウント NFS の書き込み効率が低い場合の解決策

NFSが提供するサービスマウント: サーバー上で /usr/sbin/rpc.mountd サーボ ...

MySQLの基本の共通機能

目次1. 共通機能分類1.1 単一行関数: 1.2 グループ化機能: 2. 単一行関数3. 数学関数...

Linux\Nginx 環境での仮想ドメイン名の設定とテスト検証

Nginx 仮想ドメイン名設定を使用すると、ドメイン名を購入せずに特定のドメイン名を介してローカル ...

Reactエラー境界コンポーネント処理

React 16の内容です。最新技術ではありませんが、ドキュメントで調べるまであまり話題に上がらなか...

Windows Server 2019 のインストール (グラフィカル チュートリアル)

Windows Server 2019 は、Microsoft が公式にリリースした最新のサーバー...