Hopes

Start Here..

 

js判断上传文件大小

js判断上传文件大小 (一)

Js代码
<html>
<head>
<script type="text/javascript">
var isIE = /msie/i.test(navigator.userAgent) && !window.opera;
function fileChange(target) {

var fileSize = 0;
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[0].size;
}
var size = fileSize / 1024;
if(size>10000){
alert("附件不能大于10M");


}

}
</script>
</head>
<body>
<input type="file" name="contractFileName" style="width: 500px;" onchange="fileChange(this);"/>
</body>
</html>


自己网上找资料 并测试 文件上传大小限制的一个例子,兼容ie6,ie7,ie8 ,Google Chrome,ff等浏览器,ie8上面在安全设置处设置一下就好了(工具 => Internet选项 => 安全 => Internet => 自定义级别 找到“将文件上载到服务器时包含本地目录路径”,设为“启用”即可)。

Js代码
function fileChange(target,id) {
var fileSize = 0;
if (isIE && !target.files) {
var filePath = target.value;
var fileSystem = new ActiveXObject("Scripting.FileSystemObject");

if(!fileSystem.FileExists(filePath)){
alert("附件不存在,请重新输入!");
var file=document.getElementById(id);
file.outerHTML=file.outerHTML;
return;
}
var file = fileSystem.GetFile (filePath);
fileSize = file.Size;
} else {
fileSize = target.files[0].size;
}

var size = fileSize / 1024;
if(size>100000){
alert("附件大小不能大于100M!");
var file=document.getElementById(id);
file.outerHTML=file.outerHTML
}
if(size<=0){
alert("附件大小不能为0M!");
var file=document.getElementById(id);
file.outerHTML=file.outerHTML
}
}



js判断上传文件大小 (二)

<script type="text/javascript">
function chksize(strFileName){
try
{
var maxsize = 100; //定义允许文件的大小,单位KB,请根据需要自行修改!
var objStream = new ActiveXObject("ADODB.Stream");
objStream.Type = 1;
objStream.Open();
objStream.LoadFromFile(strFileName);
if(Math.round(objStream.Size/1024)>maxsize)
{alert ("抱歉!您选择的文件为 "+Math.round(objStream.Size/1024,2)+" KB n超过了程序"+maxsize+" KB 的限制!");
document.form1.reset();
return false;
}
else
alert("可以上传");
}catch(e)
{
alert("不支持");
}
}



js判断上传文件大小 (三)

<script language="javascript" type="text/javascript">
function getFileSize(filename)
{
// var filename = document.all('fileup').value; //获得上传文件的物理路径
if(filename =='')
{
alert("你还没有浏览要上传的文件");
return false;
}

try {

var fso,f,fname,fsize;
var flength=40000; //设置上传的文件最大值(单位:kb),超过此值则不上传。
fso=new ActiveXObject("Scripting.FileSystemObject");
f=fso.GetFile(filename);//文件的物理路径
fname=fso.GetFileName(filename);//文件名(包括扩展名)
fsize=f.Size; //文件大小(bit)
fsize=fsize/1024;
//去掉注释,可以测试
//alert("文件路径:"+f);
//alert("文件名:"+fname);
//alert("文件大小:"+fsize+"kb");
if(fsize>flength)
{
alert("上传的文件到小为:"+fsize+"kb,\n超过最大限度"+flength+"kb,不允许上传 ");
return false;
}
else
{alert("允许上传,文件大小为:"+fsize+"kb");}

}
catch(e)
{
alert(e+"\n 跳出此消息框,是由于你的activex控件没有设置好,\n"+
"你可以在浏览器菜单栏上依次选择\n"+
"工具->internet选项->\"安全\"选项卡->自定义级别,\n"+
"打开\"安全设置\"对话框,把\"对没有标记为安全的\n"+
"ActiveX控件进行初始化和脚本运行\",改为\"启动\"即可");
return false;
}

return true;

}
</script>
</head>
<body>
<form id="Form1" method="post" encType="multipart/form-data" runat="server">
<INPUT id="fileup" type="file" size="80" name="fileup" onpropertychange="getFileSize(this.value)">
<input type=button onclick="getFileSize(document.all('fileup').value)" value="测试">

</form>
</body>




js判断上传文件大小 (四)

<title>测试文件</title>

<Script language="JavaScript" type="text/javascript">
function checkFileSize(filesizeKb){
try{
if(document.all){//页面内所有元素的一个集合,可判断是否是IE
var filename = document.getElementById("filename").value;
var fso = new ActiveXObject("Scripting.FileSystemObject");
if(!fso.FileExists(filename)){
alert("上传文件不存在,请重新输入!");
document.execCommand("undo");//对网页的所有表单进行撤销的
return false;
}
var file = fso.getfile(filename);
var fileSize = file.size; //单位:b
var fileSizeKb = fileSize/1024;//转换为kb
if(parseFloat(fileSizeKb)>parseFloat(filesizeKb)){
alert("当前文件大小为"+parseFloat(fileSizeKb)+"kb,最大上传文件大小为"+filesizeKb+"kb!");
document.execCommand("undo");//对网页的所有表单进行撤销的
return false;
}else{
//alert("当前文件大小为"+parseFloat(fileSizeKb)+"kb!");
}
formname.submit();
}
} catch(e){
if(e.description=="Automation服务器不能创建对象"){
alert("文件大小验证未生效!\r\n启用此验证,请如下修改浏览器设置:工具->Internet选项->安全->本地Intranet->自定义级别->ActiveX控件和插件->对没有标记为安全的ActiveX控件进行初始化和脚本运行->启用!");
formname.submit();
}else{
//alert(e.description);
//可能出现“拒绝访问”异常,刷新后又无此异常
window.location.reload();
}
}
}
</script>
</head>
<body>
<form name="formname" action="test2.jsp"><input type="file" name="filename" id="filename"><br>
<input type="button" value="上传文件" onclick="checkFileSize(45)" ><br>
</form></body>
</html>


posted on 2012-09-25 20:08 ** 阅读(595) 评论(0)  编辑  收藏


只有注册用户登录后才能发表评论。


网站导航:
 

导航

统计

公告

你好!

常用链接

留言簿(2)

随笔档案

文章分类

文章档案

新闻档案

相册

收藏夹

C#学习

友情链接

搜索

最新评论

阅读排行榜

评论排行榜