日期:2014-05-16  浏览次数:20417 次

JS前端获取上传文件的大小的方法

WEB应用中,经常会遇到上传附件的问题,比如有时候会有限制附件大小的需求。那么如何去判断附件的大小呢?

?

方法如下:(遗憾的IE中只能判断出图片文件的大小)?

??

<html>
	<head>
		<title>JS获取文件大小 </title>
		<script type='text/javascript'>
			
			///获得文件的大小(单位字节)
			function GetFileSize(fileId) {
			    var dom = document.getElementById(fileId);
			    try {
			        return dom.files.item(0).fileSize;
			    } catch (e) {
			        try {
			            var img = new Image();
			            img.src = dom.value;
			            img.style.display='none';
			           	document.body.appendChild(img);
									setTimeout(function(){
										document.body.removeChild(img);
									},1000);
			           	return img.fileSize;
			        } catch (e) {
			            return -1;
			        }
			    }
			}
			
			function testFileSize(){
				alert('文件大小=' + GetFileSize('oFile'));	
			}

		</script>
	</head>
	<body>
		<input id='oFile' type='file' value=''>
		<input type='button' value='测试大小' onclick='testFileSize()'>
	</body>	
</html>

?

1 楼 lei3389 2010-11-03  
你这是用了js2.0里面的文件接口,ie不支持。
还有就是转成img那段我怎么测试着不管用啊,ie8下
2 楼 Relucent 2010-12-07  
ie的话 只支持图片