標籤:js
原先加了一個qq群,群裡有人問道有沒有辦法在瀏覽器端獲得上傳檔案的大小並做出限制,我自己並不知道方法,我覺得是不可以的,我在群裡提出自己的見解的同時也向別人提出如果就解決辦法也想一起知道,直到一大神出現解決了這個問題,才明白解決辦法,忽然覺得這群裡還是能學到新東西的!廢話不多說了。
這是js判斷檔案大小的方法。
function CheckImage(FileUpload) {
var isIE = /msie/i.test(navigator.userAgent) && !window.opera;
var mime = FileUpload.value;
mime = mime.toLowerCase().substr(mime.lastIndexOf("."));
if (mime != ".jpg" && mime != ".png" && mime != ".bmp" && mime != ".gif") {
alert("僅支援JPG,PNG,BMP,gif格式圖片!");
FileUpload.outerHTML = FileUpload.outerHTML; //Clear File‘s value
}
var fileSize = 0;
if (isIE && !target.files) {
var filePath = FileUpload.value;
var fileSystem = new ActiveXObject("Scripting.FileSystemObject");
var file = fileSystem.GetFile(filePath);
fileSize = file.Size;
} else {
fileSize = FileUpload.files[0].size;
}
alert(fileSize);
var size = fileSize / 1024;
if (size > 1024) {
alert("圖片不能大於1M,請重新選擇圖片!");
FileUpload.outerHTML = FileUpload.outerHTML; //Clear File‘s value
}
}
代碼解釋:
其中的:
javascript判斷瀏覽器代碼 :/MSIE/i.test(navigator.userAgent)
Regex,navigator.userAgent瀏覽器資訊是否含有MSIE字樣,就是判斷是否為IE瀏覽器。
使用當時只需要在上傳檔案的控制項那裡調用就可以了
<INPUT TYPE="file" NAME="file" SIZE="30" onchange="CheckImage(this)">
js 判斷上傳檔案的大小