兼容各浏览器的js判断上传文件大小

时间:2023-03-08 18:20:33
兼容各浏览器的js判断上传文件大小
由于项目需要,在网上找了一个JS判断上传文件大小的程序,经测试兼容IE6-,Firefox10,Opera11.,safari5.,chrome17

<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>js判断上传文件的大小</title>
<script type="text/javascript">
var isIE = /msie/i.test(navigator.userAgent) && !window.opera;
var sizeLabel = ["B", "KB", "MB", "GB"];
function fileChange(target) {
var fileSize = ;
if (isIE && !target.files) {
var filePath = target.value;
var fileSystem = new ActiveXObject("Scripting.FileSystemObject");
var file = fileSystem.GetFile (filePath);
fileSize = file.Size;
} else {
fileSize = target.files[].size;
}
displayFileSize(fileSize);
} function displayFileSize(size) {
var fileSize = document.getElementById("fileSize");
fileSize.innerHTML = calFileSize(size);
} function calFileSize(size) {
for (var index = ; index < sizeLabel.length; index++) {
if (size < ) {
return round(size, ) + sizeLabel[index];
}
size = size / ;
}
return round(size, ) + sizeLabel[index];
} function round(number, count) {
return Math.round(number * Math.pow(, count)) / Math.pow(, count);
}
</script>
</head>
<body>
<div>
<input type="file" onchange="fileChange(this);">
</div>
<div id="fileSize">
</div>
</body>
</html>