国产欧美日韩第一页|日本一二三不卡视频|在线精品小视频,亚洲第一免费播放区,metcn人体亚洲一区,亚洲精品午夜视频

幫助中心 >  技術(shù)知識庫 >  網(wǎng)站相關(guān) >  建站知識 >  從JS上傳圖片代碼中找到限制大小的控件函數(shù)

從JS上傳圖片代碼中找到限制大小的控件函數(shù)

2017-12-25 21:34:08 16651

這里我們找了一個(gè)簡單的JS上傳圖片前的限制包括(jpg jpg gif及大小高寬)等的代碼:
功能: 
1.限制擴(kuò)展名:只能jpg || jpg和gif 
2.限制圖片大小:K為單位 
3.限制圖片寬高:px為單位(要么都有,要么都無) 
4.限制已經(jīng)損壞的圖片(沒有預(yù)覽的圖片) 
5.限制更改過擴(kuò)展名的圖片(比如強(qiáng)制把一個(gè)動(dòng)態(tài)的GIF擴(kuò)展名改為JPG了) 
使用限制: 
要在InputFile里增加onchange事件,使其選擇文件后能在一個(gè)img標(biāo)簽里加載出來,否則使用會出錯(cuò) 
imglimit.js 

function limitImg(){ 
var img=document.getElementById(arguments[0]);//顯示圖片的對象 
var maxSize=arguments[1];// 
var allowGIF=arguments[2]||false; 
var maxWidth=arguments[3]||0; 
var maxHeight=arguments[4]||0; 
var postfix=getPostfix(img.src); 
var str=".jpg"; 
if(allowGIF){str+=".gif"} 
if(str.indexOf(postfix.toLowerCase())==-1){ 
if(allowGIF){return "圖片格式不對,只能上傳jpg或gif圖像";}else{return "圖片格式不對,只能上傳jpg圖像";} 
}else if(img.fileSize>maxSize*1024){ 
return "圖片大小超過限制,請限制在"+maxSize+"K以內(nèi)"; 
}else{ 
if(img.fileSize==-1){ 
return "圖片格式錯(cuò)誤,可能是已經(jīng)損壞或者更改擴(kuò)展名導(dǎo)致,請重新選擇一張圖片"; 
}else{ 
if(maxWidth>0){ 
if(img.width>maxWidth){ 
return "圖片寬度超過限制,請保持在"+maxWidth+"像素內(nèi)"; 
}else{ 
if(img.height>maxHeight){ 
return "圖片高度超過限制,請保持在"+maxHeight+"像素內(nèi)"; 
}else{ 
return ""; 
} 
} 
}else{ 
return ""; 
} 
} 
} 
} 
//根據(jù)路徑獲取文件擴(kuò)展名 
function getPostfix(path){ 
return path.substring(path.lastIndexOf("."),path.length); 
}

頁面調(diào)用: 

<body> 
<input type="file" onchange="document.getElementById('img1').src=this.value;" /> 
<img id="img1" /> 
<input type="button" onclick="aa()" value="上傳" /> 
</body> 
<mce:script type="text/javascript"><!-- 
function aa(){ 
if(limitImg('img1',100,false,1000,100)==""){ 
alert("圖片上傳成功"); 
}else{ 
alert(limitImg('img1',100,false,1000,100)); 
} 
} 
// --></mce:script>

從中我們可以找到這樣一段if(img.fileSize>maxSize*1024) 啊這里就是對上傳圖片進(jìn)行的大小判斷。
安裝這樣思路我們在處理在JS里面的上傳限制的時(shí)候可以通過搜索.fileSize這樣的關(guān)鍵詞來找到我們的大小修改地方。

提交成功!非常感謝您的反饋,我們會繼續(xù)努力做到更好!

這條文檔是否有幫助解決問題?

非常抱歉未能幫助到您。為了給您提供更好的服務(wù),我們很需要您進(jìn)一步的反饋信息:

在文檔使用中是否遇到以下問題: