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

js判断上传文件大小

2013-03-18 09:13 513 查看
[javascript]
view plaincopy

var FileMaxSize = 1000;//限制上传的文件大小,单位(k)
var s=frm.imgfile1.value;
//alert(s);
// if(s==""){alert("No image,please select again!");document.personRight.imgfile1.focus(); return false;}
var img = new Image();
img.src = s;
//alert(img.fileSize);
if(img.fileSize>FileMaxSize*1024){
alert("The file size exceeds "+FileMaxSize+"K,please choose a smaller one!");
document.personRight.imgfile1.focus();
return false;
}

********************************
javascript这样来写:
//文件大小验证函数,超过规定的上限,就不让上传,给用户提示
//如果文件超过5M,就不让上传
function pstn2ngnMigration(){
if (dbfFileNameValidate()){
if(fileSizeValidate()){
if(confirm("do you want to execute migration ?")){'
lockSystem('please waiting...',false)
setTimeout("dbfFileMigration()",3000);
}
}
};
}
//判断是否是.DBF文件,是返回true
function dbfFileNameValidate()
{
var filestr = document.all.UploadFile.value;
if(filestr=="")
alert("Please select a migration file!");
document.all.UploadFile.focus();
return false;
}else if(filestr.toLowerCase().lastIndexOf(".dbf")==-1){
alert("Please select a file with DBF extension !");
document.all.UploadFile.focus();
return false;
};
return true;
}

//条件成立,提交
function dbfFileMigration()
{
document.Uploadform.action="MigrationSendOrder.jsp";
document.Uploadform.submit();
unlockSystem();
}
//上传文件大小限制
function fileSizeValidate()
{
var filestr = document.all.UploadFile.value;)
var fso,f;
fso=new ActiveXObject("Scripting.FileSystemObject");
f=fso.GetFile(filestr);
if(f.size>5*1024*1024){
alert("The size of .dbf is more than 5M");
return false;
}
return true;
}
页面代码如下:
<TR vAlign=center align=middle height=40 width="100%">
<form name=Uploadform method=post encType="multipart/form-data">
<TD align=left width="60%">
<INPUT class=input id=UploadFile type=file size=30 name=UploadFile>
</TD>
</form>
<TD align=middle width="20%">
<INPUT class=Btn1_w60 onclick="pstn2ngnMigration()" type=button value=upload>
</TD>
</TR>
***************************************
考虑通用性,还是在服务器端判断好 http://dotnet.aspx.cc/ShowDetail.aspx?id=58EA3515-36F2-4FD9-AC89-EAF49F59816C
<HTML>
<HEAD>
<SCRIPT>
function getFileSize (fileName) {
var ext = fileName.substr(fileName.lastIndexOf(".")+1)
ext=ext.toLowerCase()
if(!(ext=="bmp" || ext=="gif" || ext=="jpg"))
{
alert("类型不对")
return -1
}
if (document.layers) {
if (navigator.javaEnabled()) {
var file = new java.io.File(fileName);
if (location.protocol.toLowerCase() != 'file:')
netscape.security.PrivilegeManager.enablePrivilege(
'没有权限'
);
return file.length();
}
else return -1;
}
else if (document.all) {
window.oldOnError = window.onerror;
window.onerror = function (err) {
if (err.indexOf('utomation') != -1) {
alert('没有权限,请降低安全性。');
return true;
}
else
return false;
};
var fso = new ActiveXObject('Scripting.FileSystemObject');
var file = fso.GetFile(fileName);
window.onerror = window.oldOnError;
return file.Size;
}
}

</SCRIPT>
</HEAD>
<BODY>
<FORM NAME="formName">
<INPUT TYPE="file" NAME="fileName">
<BR>
<INPUT TYPE="button" VALUE="查看" ONCLICK="alert(getFileSize(this.form.fileName.value))">
</FORM>
</BODY>
</HTML>
*************************************************************
<HTML>
<HEAD>
<title>******上传文件大小的限制和判断***********</title>
<mce: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;

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