您的位置:首页 > Web前端 > JavaScript

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

2011-11-23 01:20 701 查看
说明:

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。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: