兼容FF、chorme、ie的获取文件大小
<html>
<head>
<meta http-equiv='Content-Type' content='text/html; charset=utf-8'>
<script type="text/javascript">
var agent = window.navigator.userAgent;
var isIE = /msie/i.test(agent) && !window.opera;
function fileChange(target) {
var fileSize = 0;
if (isIE && !target.files) {
//如果是ie6以下的版本,直接fileSize可以获取到大小
if( agent.indexOf("MSIE 5.0")>0 || agent.indexOf("MSIE 6.0")>0
){
var img = new Image();
var filename = target.value;
img.src = filename;
fileSize = img.fileSize;
} else{
//ie7版本以上需要打开安全设置
try {
var fso,f,fname,fsize;
var flength=1000; //设置上传的文件最大值(单位:kb),超过此值则不上传。
var filename = target.value;
fso=new ActiveXObject("Scripting.FileSystemObject");
f=fso.GetFile(filename);//文件的物理路径
fname=fso.GetFileName(filename);//文件名(包括扩展名)
fileSize=f.Size; //文件大小(bit)
}
catch(e)
{
alert(e+"\n 跳出此消息框,是由于你的activex控件没有设置好,\n"+
"你可以在浏览器菜单栏上依次选择\n"+
"工具->internet选项->\"安全\"选项卡->自定义级别,\n"+
"打开\"安全设置\"对话框,把\"对没有标记为安全的\n"+
"ActiveX控件进行初始化和脚本运行\",改为\"启动\"即可");
return false;
}
}
} else {
//火狐版本下的文件大小获取
fileSize = target.files[0].size;
}
var size = fileSize / 1024;
if(size>1000){
alert("附件不能大于1M");
}
document.getElementById("txtfilename").value=fileSize;
}
</script>
</head>
<body>
<input type="file" name="contractFileName" style="width: 500px;"
onchange="fileChange(this);"/>
<input type="text" id="txtfilename" />
</body>
</html>
浙公网安备 33010602011771号