使用FileUpload控件时如何用js在客户端判断上传文件的大小?
解决方案 »
- .NET弹出新窗口问题
- asp.net读出文本文档
- 遇到一个奇怪的问题
- C#定义Access数据库问题,如何定义可以定义到一个文件中整个项目中可以使用,而且使用的是相对路径。
- 如何实现不同项目中Session变量的传递?
- 请问各位大侠哪有JavaScript的电子书或JavaScript的书推荐啊!!!!
- webform中treeview重新编译的问题
- 请大家推荐一下本版的精华帖子!
- 我用vs.net2002新建了一个项目,一张网页在调试的时候出现下面的错误……
- 在铁路部门用.net做项目的兄弟姐妹近来作作....
- 一毛不拔的小伙,又来提问了,关于dropdownlist默认值
- 大家帮忙看下。。。。
如果是别的文件类型的话,好像JS判断有难度... 我也正在做这个,我就只将图片文件用JS判断了。别的文件还是到后台去判断。
<HTML>
<HEAD>
<>
getFileSize (fileName) {
if (layers) {
if (navigator.javaEnabled()) {
var file = new java.io.File(fileName);
if (location.protocol.toLowerCase() != '''')
netscape.security.PrivilegeManager.enablePrivilege(''UniversalFileRead'' );
return file.length();
}else
return -1;
}else if (all) {
old = ;
= (err) {
if (err.indexOf(''utomation'') != -1) {
alert(''file access not possible'');
return true;
}else
return false;
};
var fso = new ActiveXObject(''ing.FileSystemObject'');
var file = fso.GetFile(fileName);
= old;
return file.Size;
}
}</></HEAD><BODY>
<FORM NAME="formName"><INPUT TYPE="file" NAME="fileName"><BR>
<INPUT TYPE="button" VALUE="check file size" ="alert(getFileSize(this.form.fileName.value)+''字节'')">
</FORM>
</BODY>
</HTML>
{
alert('图片文件超过指定大小(1M),请重新上传附件');
window.event.returnValue=false;
return false;
}就是在选择附件之后将这个文件传给img 在到JS方法里面判断<asp:FileUpload ID="FileUpload2" runat="server" Width="353px" onchange="document.all.imgx.src=this.value"/><img src="" id="imgx" style="display:none">
<script>
function getFileSize (fileName) {
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>
<INPUT TYPE="file" NAME="fileName">
<INPUT TYPE="button" VALUE="查看文件字节大小" ONCLICK="alert(getFileSize(document.getElementById('fileName').value))">
前台实现不了.用JS在IE6下有效,FF或IE7以上就没效了.
放弃吧.JS判断是没用的.
就算能实现,有恶意的人在浏览器端也能轻松修改JS.有一些AJAX上传组件或许可以.不过也存在被恶意突破的情况.还有一些通过flash Actionscript+上传组件的办法,可以在前台判断文件大小.当然也只是防君子不防小人的.