现在的位置: 首页 > 综合 > 正文

使用JS实现在客户端判断上传文件大小

2017年10月05日 ⁄ 综合 ⁄ 共 1138字 ⁄ 字号 评论关闭

说明:

1、在IE下要对安全级别调整。如果是默认情况下,需要用户确认打开activeX。经测试,IE,FF,Chrome可用。

2、GetFile 方法

根据指定的路径中的文件返回相应的 File 对象。
object.GetFile(filespec
参数

object

必选项。 应为 FileSystemObject 的名称。

filespec
必选项。 filespec 是指定文件的路径(绝对和或相对的)。

说明
如果指定文件不存在则出错。

3、boject.size 属性

对于文件,以字节为单位返回指定文件的大小。 对于文件夹,以字节为单位返回文件夹中包含的所有文件和子文件夹的大小。
object.Size 
object 应为 File 或 Folder 对象。 

代码:

<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<title>js判断文件大小</title>
<script type="text/javascript" src="http://code.jquery.com/jquery-1.6.4.min.js"></script>
<script type="text/javascript">
	$(document).ready(function(){
		$("input[name='input_file']").bind({
			change:function(){
			
				var file_size = 0;        
				if ( $.browser.msie && !this.files ) {    
					var file_path = this.value;    
					var file_system = new ActiveXObject("Scripting.FileSystemObject");       
					var file = file_system.GetFile (file_path);    
					file_size = file.Size;
					alert(file_size/1024/1024 + " MB");
				} else {   
					file_size = this.files[0].size; 
					console.log(file_size/1024/1024 + " MB");   
				}  
				var size = file_size / 1024;
				if(size > 10240){
					alert("上传的文件大小不能超过10M!");
				}
			}
		});
	});
</script>
</head>
<body>
	<form>
		<input type="file" name="input_file" size="30" />
	</form>
</body>
</html>

缺点:IE下需要用户同意并加载ActiveX。

抱歉!评论已关闭.