代理加盟 2019全新代理計劃 賺錢+省錢雙管齊下,獨立平臺,豐厚利潤!

您現在的位置: 秀站網 > 站長學院 > 建站教程 >

JS實現圖片上傳后多圖片尺寸預覽功能

來源:未知 發布時間:2019-03-30熱度:我要評論
前段時間做了一個會員頭像上傳,能自動生成多尺寸預覽效果,當然如果你并不需要那么多尺寸的預覽效果就用一個預覽區即可。剛開始考慮采用ajax調用,但前臺數據需要點擊提交才能調用數據庫內容,并不是同步預覽,這條路并不通,因此還是采用JS的方法。 JS部分 先引用公...

織夢模板免費下載,無需注冊無需充值

      前段時間做了一個會員頭像上傳,能自動生成多尺寸預覽效果,當然如果你并不需要那么多尺寸的預覽效果就用一個預覽區即可。剛開始考慮采用ajax調用,但前臺數據需要點擊提交才能調用數據庫內容,并不是同步預覽,這條路并不通,因此還是采用JS的方法。

上傳圖片多尺寸預覽

JS部分

       先引用公共JS庫,下面增加

<script type="text/javascript">
<!--
//下面用于圖片上傳預覽功能
function setImagePreview(avalue){
 var docObj=document.getElementById("face");//上傳元素ID
 var imgObjPreview=document.getElementById("preview");
 var imgObjPreview=document.getElementById("preview2");
 var imgObjPreview=document.getElementById("preview3");
 if(docObj.files &&docObj.files[0])
 {
 //火狐下,直接設img屬性
 imgObjPreview.style.display = 'block';
 imgObjPreview.style.width = '150px';
 imgObjPreview.style.height = '150px';
 imgObjPreview2.style.display = 'block';
 imgObjPreview2.style.width = '110px';
 imgObjPreview2.style.height = '110px';
 imgObjPreview3.style.display = 'block';
 imgObjPreview3.style.width = '40px';
 imgObjPreview3.style.height = '40px';
 //imgObjPreview.src = docObj.files[0].getAsDataURL();
 //火狐7以上版本不能用上面的getAsDataURL()方式獲取,需要以下方式
 imgObjPreview.src = window.URL.createObjectURL(docObj.files[0]);
 imgObjPreview2.src = window.URL.createObjectURL(docObj.files[0]);
 imgObjPreview3.src = window.URL.createObjectURL(docObj.files[0]);
 }
 else
 {
 //IE下,使用濾鏡
 docObj.select();
 var imgSrc = document.selection.createRange().text;
 var localImagId = document.getElementById("localImag");
 var localImagId2 = document.getElementById("localImag2");
 var localImagId3 = document.getElementById("localImag3");
 //必須設置初始大小
 localImagId.style.width = "150px";
 localImagId.style.height = "150px";
 localImagId2.style.width = "110px";
 localImagId2.style.height = "110px";
 localImagId3.style.width = "40px";
 localImagId3.style.height = "40px";
 //圖片異常的捕捉,防止用戶修改后綴來偽造圖片
 try{
 localImagId.style.filter="progid:DXImageTransform.Microsoft.AlphaImageLoader(sizingMethod=scale)";
 localImagId.filters.item("DXImageTransform.Microsoft.AlphaImageLoader").src = imgSrc;
 localImagId2.style.filter="progid:DXImageTransform.Microsoft.AlphaImageLoader(sizingMethod=scale)";
 localImagId2.filters.item("DXImageTransform.Microsoft.AlphaImageLoader").src = imgSrc;
 localImagId3.style.filter="progid:DXImageTransform.Microsoft.AlphaImageLoader(sizingMethod=scale)";
 localImagId3.filters.item("DXImageTransform.Microsoft.AlphaImageLoader").src = imgSrc;
 }
 catch(e){  
 alert("您上傳的圖片格式不正確,請重新選擇!");
 return false;
 }
 imgObjPreview.style.display = 'none'; document.selection.empty(); 
 imgObjPreview2.style.display = 'none'; document.selection.empty(); 
 imgObjPreview3.style.display = 'none'; document.selection.empty(); 
 } 
 return true;
}
-->
</script>

HTML部分

<p class="fieldbtn">
 <input name="face" type="file" id="face" size="45" onchange="javascript:setImagePreview();"/>
</p>
<p id="localImag" >
 <img id="preview" src="images/view.png" width="150" height="150"/>
 <img id="preview2" src="images/view.png" width="110" height="110"/>
 <img id="preview3" src="images/view.png" width="40" height="40"/>
</p>

上傳按鈕CSS樣式

       系統默認的上傳按鈕比較難看,分享案例的上傳按鈕樣式

<style type="text/css">
.fieldbtn{width:84px;height:28px;text-align:center;border:1px solid #ccc;position:relative;overflow:hidden;display:inline-block;cursor:pointer;}
.fieldbtn input{font-size:100px;right:0;top:0;position:absolute;opacity:0;filter:alpha(opacity=0);cursor:pointer;z-index:999;}
</style>

本文地址:http://www.yxrxyy.live/news/1411.html

責任編輯:秀站網

    發表評論

    評論列表(條)

      北京28是什么彩票