8 个解决方案
#1
如果你是图片文件的话,可以直接使用JS判断,
如果是别的文件类型的话,好像JS判断有难度... 我也正在做这个,我就只将图片文件用JS判断了。别的文件还是到后台去判断。
如果是别的文件类型的话,好像JS判断有难度... 我也正在做这个,我就只将图片文件用JS判断了。别的文件还是到后台去判断。
#2
<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>
#3
这就是一个判断而已,放在你要调用的JS方法里面,执行的代码在下面的控件里面执行的。
就是在选择附件之后将这个文件传给img 在到JS方法里面判断
if(document.all.imgx.fileSize>1024*1024)
{
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">
#4
FSO
<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))">
#5
我的文件不是图片。并且必须在上传到服务器前判断文件大小。超过限制不允许上传的。如果是在服务器判断,那文件都上传上去了还有什么意义?
#6
前台实现不了.用JS在IE6下有效,FF或IE7以上就没效了.
放弃吧.JS判断是没用的.
就算能实现,有恶意的人在浏览器端也能轻松修改JS.
有一些AJAX上传组件或许可以.不过也存在被恶意突破的情况.
还有一些通过flash Actionscript+上传组件的办法,可以在前台判断文件大小.当然也只是防君子不防小人的.
#7
留名,以后肯定用的着
#8
我也看看,最近正头痛这个了。
#1
如果你是图片文件的话,可以直接使用JS判断,
如果是别的文件类型的话,好像JS判断有难度... 我也正在做这个,我就只将图片文件用JS判断了。别的文件还是到后台去判断。
如果是别的文件类型的话,好像JS判断有难度... 我也正在做这个,我就只将图片文件用JS判断了。别的文件还是到后台去判断。
#2
<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>
#3
这就是一个判断而已,放在你要调用的JS方法里面,执行的代码在下面的控件里面执行的。
就是在选择附件之后将这个文件传给img 在到JS方法里面判断
if(document.all.imgx.fileSize>1024*1024)
{
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">
#4
FSO
<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))">
#5
我的文件不是图片。并且必须在上传到服务器前判断文件大小。超过限制不允许上传的。如果是在服务器判断,那文件都上传上去了还有什么意义?
#6
前台实现不了.用JS在IE6下有效,FF或IE7以上就没效了.
放弃吧.JS判断是没用的.
就算能实现,有恶意的人在浏览器端也能轻松修改JS.
有一些AJAX上传组件或许可以.不过也存在被恶意突破的情况.
还有一些通过flash Actionscript+上传组件的办法,可以在前台判断文件大小.当然也只是防君子不防小人的.
#7
留名,以后肯定用的着
#8
我也看看,最近正头痛这个了。