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

首頁 > 編程 > HTML > 正文

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

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

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

效果預覽:

css,上傳圖片預覽,上傳圖片

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"                            <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"                            <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 實現拍照預覽上傳圖片功能,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對VeVb武林網網站的支持!


注:相關教程知識閱讀請移步到HTML教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
日韩精品视频在线免费观看| 欧美性视频网站| 国产精品视频精品视频| 热久久这里只有精品| 日韩欧美在线视频日韩欧美在线视频| 激情成人中文字幕| 欧美日韩国产色| 欧美人与物videos| 国产精品久久久久久超碰| 深夜精品寂寞黄网站在线观看| 久久国产加勒比精品无码| 欧美电影第一页| 麻豆一区二区在线观看| 亚洲一区二区三区xxx视频| 国产精品久久婷婷六月丁香| 国产精品爽黄69天堂a| 日韩av在线看| 久久久999国产| 日日噜噜噜夜夜爽亚洲精品| 最新的欧美黄色| 高清欧美性猛交xxxx黑人猛交| 欧美一区二三区| 国产精品久久婷婷六月丁香| 大胆人体色综合| 欧美—级a级欧美特级ar全黄| 最近中文字幕2019免费| 国产精品6699| 国产亚洲欧美视频| 国模精品视频一区二区| 欧美精品在线观看| 久久99青青精品免费观看| 青青久久av北条麻妃黑人| 欧美性jizz18性欧美| 国产精品视频一区二区高潮| 欧美激情一区二区三区高清视频| 91亚洲永久免费精品| 欧美大片网站在线观看| 国产精品久久在线观看| 日本精品久久中文字幕佐佐木| 中文字幕在线国产精品| 日韩在线视频二区| 国产69精品久久久| 精品久久国产精品| 久久精品免费播放| 精品成人69xx.xyz| 亚洲激情视频在线观看| 欧美日韩国产影院| 久久国产精品久久久久久久久久| 久久久av网站| 国产原创欧美精品| 亚洲无亚洲人成网站77777| 欧美做受高潮1| 久久国产精品久久国产精品| 久久久久久久久久久亚洲| 午夜精品一区二区三区av| 亚洲一区二区日本| 欧美日韩国产区| 精品亚洲精品福利线在观看| 色狠狠av一区二区三区香蕉蜜桃| 久久久久久久久久久人体| 久久久女人电视剧免费播放下载| 国产男女猛烈无遮挡91| 国产精品亚洲美女av网站| 成人黄色片在线| 国产精品亚洲综合天堂夜夜| 国产欧美一区二区三区久久| 国产香蕉精品视频一区二区三区| 久久久亚洲欧洲日产国码aⅴ| 日韩一区二区福利| 国产精品久久久久久久久久新婚| 国产日韩在线视频| 日韩欧美在线网址| 日韩免费在线看| 精品偷拍一区二区三区在线看| 亚洲999一在线观看www| 88国产精品欧美一区二区三区| 日韩免费电影在线观看| 久久91精品国产91久久跳| 少妇久久久久久| 国产精品丝袜久久久久久高清| 国产一区欧美二区三区| 欧美丰满片xxx777| 日韩高清a**址| 国产99久久精品一区二区 夜夜躁日日躁| 欧美午夜无遮挡| 97色在线视频观看| 亚洲成人中文字幕| 成人中心免费视频| 国产亚洲精品久久久久动| 亚洲女同性videos| 久久人人爽人人爽人人片av高请| 精品久久久香蕉免费精品视频| 日韩欧美国产激情| 久久久久久香蕉网| 97视频在线观看免费高清完整版在线观看| 日本精品一区二区三区在线| 91精品视频大全| 国内精品视频在线| 97在线看免费观看视频在线观看| 国产精品久久久久高潮| 欧美日韩在线免费观看| 久热精品视频在线免费观看| 亚洲a∨日韩av高清在线观看| 欧美精品在线免费观看| 亚洲自拍高清视频网站| 精品久久久久久久中文字幕| 国产69久久精品成人看| 色yeye香蕉凹凸一区二区av| 亚洲精品黄网在线观看| 亚洲深夜福利网站| 欧美老女人性视频| 伊人伊成久久人综合网站| 精品久久久久久久久久ntr影视| 亚洲天堂男人的天堂| 精品久久久久久中文字幕一区奶水| 亚洲欧美日韩中文在线| 欧美日韩视频免费播放| 国产精品啪视频| 日本成人黄色片| 久久久成人的性感天堂| 一区二区国产精品视频| 国产午夜精品视频| 麻豆成人在线看| 欧美午夜www高清视频| 亚洲经典中文字幕| 精品国产欧美一区二区三区成人| 欧日韩不卡在线视频| 色哟哟亚洲精品一区二区| 美女av一区二区| 91网站免费观看| 日韩免费看的电影电视剧大全| 国内免费精品永久在线视频| 成人午夜激情免费视频| 在线日韩中文字幕| 欧美诱惑福利视频| 不卡伊人av在线播放| 亚洲国产私拍精品国模在线观看| 国产精品久久久久秋霞鲁丝| 欧美中文在线视频| 国产又爽又黄的激情精品视频| 亚洲最大在线视频| 高跟丝袜欧美一区| 欧美电影免费观看高清| 日韩高清中文字幕| 日韩av快播网址| 中文字幕精品一区久久久久| 这里只有精品视频| 亚洲精品电影久久久| 日韩在线观看网址| 欧美激情欧美激情在线五月| 另类图片亚洲另类| 日韩精品在线视频美女| 亚洲福利视频在线| 国产福利视频一区二区| 亚洲三级免费看| 欧美激情在线视频二区| 98精品国产高清在线xxxx天堂| 成人av资源在线播放| 亚洲视频日韩精品| 国产精品久久av| 欧美激情一区二区三区高清视频| 成人激情在线播放| 精品一区二区三区电影| 国产精品6699|