亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > HTML > 正文

html+css+js 實現拍照預覽上傳圖片功能

2024-08-26 00:10:02
字體:
來源:轉載
供稿:網友

前言:我們在做網頁時經常會需要有上傳圖片的需求,可能是選擇圖片或者拍照上傳,如果簡單的使用<input type="file"/>這種方式雖然也能實現功能,但用戶體驗上可能會差了一些,所以本文記錄了使用css+js實現圖片選中后的預覽及壓縮上傳功能,部分帶來來源于網絡,此處做了記錄整理。

效果預覽:

 

1.創建index.html

<!DOCTYPE html><html>    <head>        <meta charset="UTF-8">        <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no">        <title>拍照上傳</title>        <link rel="stylesheet" href="index.css"/>        <script type='text/javascript' src='index.js' charset='utf-8'></script>    </head>    <body>         <form id="mainForm">            <div class="content">                <div class="label">身份證</div>                <div class="img-area">                    <div class="container">                        <input type="file" id='id-face' name='face'  accept="image/*" />                        <div id='face-empty-result'>                            <img style='width:4rem' src="https://github.com/wangheng3751/my-resources/blob/master/images/camera.png?raw=true" alt="">                            <p>身份證正面照</p>                        </div>                        <img style='width: 100%' id='face-result'/>                    </div>                    <div class="container" style='margin-top:0.5rem;'>                        <input type="file" id='id-back' name='back' accept="image/*" />                        <div id='back-empty-result'>                            <img style='width:4rem' src="https://github.com/wangheng3751/my-resources/blob/master/images/camera.png?raw=true" alt="">                            <p>身份證反面照</p>                        </div>                        <img style='width: 100%' id='back-result'/>                    </div>                </div>            </div>            <div class="btn">                提交            </div>         </form>    </body></html>

2.創建index.css

body{    margin: 0}.content{    padding:0.5rem;    display: flex;    align-items: center;    border-bottom: 1px #999 solid}.label{    width:5rem;}.img-area{    flex:1}.container{    background-color:#e7e7e7;    position: relative;}.container div{    text-align: center;    padding:0.5rem 0}.container input{    opacity:0;    filter:alpha(opacity=0);    height: 100%;    width: 100%;    position: absolute;    top: 0;    left: 0;    z-index: 9;}.container p{    font-size: 0.9rem;    color:#999}.btn{    background-color: #4363ab;    color: #fff;    text-align: center;    padding: 0.5rem 1rem;    width:80%;    border-radius: 0.2rem;    margin: 2rem auto;    font-weight: 600;    font-size: 1.2rem}

3.創建index.js

window.onload=function(){    document.getElementById("id-face").addEventListener("change", function(){               onFileChange(this,"face-result","face-empty-result")    });    document.getElementById("id-back").addEventListener("change", function(){               onFileChange(this,"back-result","back-empty-result")    });    document.getElementsByClassName("btn")[0].addEventListener("click", function(){               submit();    });};/** * 選中圖片時的處理 * @param {*} fileObj input file元素 * @param {*} el //選中后用于顯示圖片的元素ID * @param {*} btnel //未選中圖片時顯示的按鈕區域ID */function onFileChange(fileObj,el,btnel){    var windowURL = window.URL || window.webkitURL;    var dataURL;    var imgObj = document.getElementById(el);    document.getElementById(btnel).style.display="none";    imgObj.style.display="block";    if (fileObj && fileObj.files && fileObj.files[0]) {        dataURL = windowURL.createObjectURL(fileObj.files[0]);        imgObj.src=dataURL;    } else {        dataURL = fileObj.value;        imgObj.style.filter = "progid:DXImageTransform.Microsoft.AlphaImageLoader(sizingMethod=scale)";        imgObj.filters.item("DXImageTransform.Microsoft.AlphaImageLoader").src = dataURL;    }}/** * 將圖片壓縮后返回base64格式的數據 * @param {*} image img元素 * @param {*} width 壓縮后圖片寬度 * @param {*} height 壓縮后圖片高度 * @param {*} qua //圖片質量1-100 */function compressImageTobase64(image,width,height,qua){    var quality = qua ? qua / 100 : 0.8;    var canvas = document.createElement("canvas"),             ctx = canvas.getContext('2d');         var w = image.naturalWidth,             h = image.naturalHeight;         canvas.width = width||w;         canvas.height = height||h;         ctx.drawImage(image, 0, 0, w, h, 0, 0, width||w, height||h);    var data = canvas.toDataURL("image/jpeg", quality);         return data;}//提交function submit(){    //1、form提交    //document.getElementById("mainForm").submit();    //2、壓縮后ajax提交    var face_data=compressImageTobase64(document.getElementById("face-result"),200,100,90);    var back_data=compressImageTobase64(document.getElementById("back-result"),200,100,90);    var formData = new FormData();      formData.append("face",face_data);    formData.append("back",back_data);    //需引入jQuery    $.ajax({        url:"/地址",        type: 'POST',        cache: false,        data: formData,        timeout:180000,        processData: false,        contentType: false,        success:function(r){        },        error:function(r){          }   });}

源碼: Github地址

總結

以上所述是小編給大家介紹的html+css+js 實現拍照預覽上傳圖片功能,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對武林網網站的支持!

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
久久综合色88| 91影院在线免费观看视频| 午夜剧场成人观在线视频免费观看| 国产精品丝袜久久久久久不卡| 国产精品久久久久9999| 久久久亚洲国产天美传媒修理工| 九九热r在线视频精品| 成人免费大片黄在线播放| 亚洲成人中文字幕| 91香蕉嫩草神马影院在线观看| 亚洲韩国青草视频| 欧美在线视频在线播放完整版免费观看| 亚洲成人黄色在线观看| 北条麻妃在线一区二区| 欧美日韩爱爱视频| 国产一区二区日韩精品欧美精品| 中文字幕国产亚洲2019| 欧美视频在线观看 亚洲欧| 精品国产乱码久久久久久虫虫漫画| 久久久精品视频成人| 国产精品丝袜白浆摸在线| 久久6精品影院| 成人两性免费视频| 91精品国产高清久久久久久91| 欧美激情一二三| 国产亚洲精品综合一区91| 日本一欧美一欧美一亚洲视频| 久久天天躁狠狠躁老女人| 亚洲国内精品在线| 欧美激情女人20p| 精品国产电影一区| 国产日韩中文字幕在线| 国产精品高清免费在线观看| 91精品国产91久久久久福利| 国产精品亚洲精品| 日韩在线视频中文字幕| 亚洲国产精品久久久久久| xvideos亚洲| 国产乱肥老妇国产一区二| 国产日韩欧美在线观看| 午夜精品在线视频| 欧美电影免费看| 日韩亚洲精品电影| 国产精品成人久久久久| 国产精品第三页| 日韩美女视频中文字幕| 亚洲一区二区三区在线免费观看| 国产欧美日韩丝袜精品一区| 欧美激情一级欧美精品| 国产精品成人国产乱一区| 久久乐国产精品| 色综久久综合桃花网| 欧美丰满少妇xxxxx做受| 久久躁狠狠躁夜夜爽| 777国产偷窥盗摄精品视频| 69av在线播放| 91亚洲精品在线| 亚洲伊人第一页| 国产欧美日韩亚洲精品| 91久久精品一区| 久久久国产精品亚洲一区| 57pao成人永久免费视频| 国产精品一区久久久| 久久全球大尺度高清视频| 色综合男人天堂| 国产一区二区免费| 亚洲一二三在线| 欧美成人自拍视频| 欧美一级淫片videoshd| 国产精品一区二区在线| 国产日韩亚洲欧美| 欧美精品久久久久久久免费观看| 欧美日韩免费区域视频在线观看| 亚洲第一黄色网| 亚洲性视频网址| 亚洲一区二区久久| 美日韩丰满少妇在线观看| 成人国产精品色哟哟| 国产成人a亚洲精品| 久久国产加勒比精品无码| 91av国产在线| 国产91精品在线播放| www亚洲精品| 中日韩美女免费视频网站在线观看| 国内精品久久久久久影视8| 欧美成人激情在线| 国产精品久久久久久影视| 亚洲欧美日韩精品久久奇米色影视| 亚洲国产成人精品久久久国产成人一区| 午夜精品久久久久久久99黑人| 亚洲精品久久久久中文字幕欢迎你| 色婷婷综合成人av| 亚洲人成啪啪网站| 亚洲国产欧美一区二区三区同亚洲| 国产日产欧美a一级在线| 久久综合伊人77777| 国产在线不卡精品| 丝袜情趣国产精品| 欧美一区二区三区精品电影| 欧美最猛性xxxxx亚洲精品| 在线观看日韩www视频免费| 国产精品日日摸夜夜添夜夜av| 日韩国产精品亚洲а∨天堂免| 国产精品视频1区| www国产亚洲精品久久网站| 亚洲男人av在线| 国产精品美女久久久免费| 国产精品亚洲аv天堂网| 日韩中文字幕在线视频播放| 久久视频在线视频| 国产精品白丝jk喷水视频一区| 98视频在线噜噜噜国产| 成人黄色大片在线免费观看| 国产精品成人免费视频| 国产亚洲精品成人av久久ww| 日韩精品在线视频| 国产一区二区三区在线观看网站| 国a精品视频大全| 欧美日韩激情视频8区| 日韩视频免费观看| 久久国产精品久久久久久| 亚洲精选一区二区| 最近2019中文字幕mv免费看| 97热在线精品视频在线观看| 欧美最顶级的aⅴ艳星| 国内精品在线一区| 日韩一区二区三区xxxx| 亚洲精品自拍第一页| 成人精品一区二区三区电影黑人| 色青青草原桃花久久综合| 久久人人爽人人爽人人片av高清| 96sao精品视频在线观看| 粗暴蹂躏中文一区二区三区| 国产欧美精品在线| 日韩欧美国产免费播放| 国产精品久久久久久搜索| 国产精品第二页| 日韩精品视频中文在线观看| 国产欧美日韩91| 国产精品久久久久久亚洲调教| 91九色国产社区在线观看| 亚洲精品国产suv| 精品视频9999| 日韩av网址在线| 国产91精品网站| 情事1991在线| 欧美精品一区在线播放| 国产欧美日韩精品丝袜高跟鞋| 欧美精品999| 国产精品日韩专区| 久久91超碰青草是什么| 欧美成人精品在线观看| 国产亚洲福利一区| 亚洲免费视频一区二区| 在线看日韩av| 亚洲精品91美女久久久久久久| 国产免费一区二区三区香蕉精| 91av在线播放视频| 久久久影视精品| 欧美成人免费观看| 久久久这里只有精品视频| 久久噜噜噜精品国产亚洲综合| 国产精品美女免费| 成人精品视频在线|