用户上传了过大文件如何处理? asp.net里有设置上传文件在大小限制.但是如果一但超过这个限制页面就直接报错.有没有一个办法可以让它不要直接报错,让.aspx程序去提示用户上传的文件太大. 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 在web.config里加入<httpRuntime maxRequesLength="文件大小" executionTimeout="上传时间"></httpRuntime> Web.config中的设置: <httpRuntime maxRequestLength="10240" useFullyQualifiedRedirectUrl="true" executionTimeout="6000" minFreeThreads="8" minLocalRequestFreeThreads="4" appRequestQueueLimit="100" /> 比如你想要限到30M.但你会发现。上传20M时就出错了。因为IIS那里就会认为你进行DOS攻击了。把你的页面给断开了。这样子页面就会有问题。所以最好的方法是在客户端用JS进行验证。 其实这个问题有点麻烦,我做了个分块传送的控件,可以供楼主参考,允许2G,超过了这个我也没辙,因为这是ASP.NET的最大上传限制地址:http://download.csdn.net/source/947074 js判断上传文件大小第一种方法是利用IE控件 <html> <input type="file" name="file1" onchange="ShowSize(this.value)"> <script language="JavaScript"> <!-- function ShowSize(files) { var fso,f; fso=new ActiveXObject("Scripting.FileSystemObject"); f=fso.GetFile(files); if(f.size>1024*4){ alert(f.size+" Bytes"); } } //--> </script> </html>第二种方法是利用IE下,Image对象的属性,如:fileCreatedDate、fileModifiedDate、fileSize、fileUpdatedDate、filters 限制:<input type="text" size="4" value="10" name="fileSizeLimit" id="fileSizeLimit"/> <input type="file" name="file1" id="file1" size="40" onchange="changeSrc(this)"/> <img src="about:blank" id="fileChecker" alt="test" height="18"/> <script type="text/javascript"> var oFileChecker = document.getElementById("fileChecker"); function changeSrc(filePicker) { oFileChecker.src = filePicker.value; } oFileChecker.onreadystatechange = function () { if (oFileChecker.readyState == "complete") { checkSize(); } } function checkSize() { var limit = document.getElementById("fileSizeLimit").value * 1024; if (oFileChecker.fileSize > limit) { alert("too large"); } else { alert("ok"); } } </script> 在asp.net中,有相关的方法啊。可以判断一个文件的大小。PostedFile.ContentLength就可以判断出文件的大小 ASP.NET打印问题 请教类型的问题! asp.net与asp ASP.net(web) 第一次显示页面时不刷新就不正常 关于数据库连接的问题 请教在一个页面消息函数中处理另一个页面转向 Asp.net中Treeview控件一问 如何弹出确认删除对话框(Asp.Net2 的C#编程) TextBox无法传递参数,错误提示:“在需要对象实例的地方发现了空值”HELP ME!!! 关于vs2005 调试关联的问题 問一個asp.net批量上傳文件的問題
useFullyQualifiedRedirectUrl="true"
executionTimeout="6000"
minFreeThreads="8"
minLocalRequestFreeThreads="4"
appRequestQueueLimit="100"
/>
比如你想要限到30M.但你会发现。上传20M时就出错了。因为IIS那里就会认为你进行DOS攻击了。把你的页面给断开了。这样子页面就会有问题。所以最好的方法是在客户端用JS进行验证。
地址:http://download.csdn.net/source/947074
<html>
<input type="file" name="file1" onchange="ShowSize(this.value)">
<script language="JavaScript">
<!--
function ShowSize(files)
{
var fso,f;
fso=new ActiveXObject("Scripting.FileSystemObject");
f=fso.GetFile(files);
if(f.size>1024*4){
alert(f.size+" Bytes");
}
}
//-->
</script>
</html>
第二种方法是利用IE下,Image对象的属性,如:fileCreatedDate、fileModifiedDate、fileSize、fileUpdatedDate、filters 限制:
<input type="text" size="4" value="10" name="fileSizeLimit" id="fileSizeLimit"/>
<input type="file" name="file1" id="file1" size="40" onchange="changeSrc(this)"/>
<img src="about:blank" id="fileChecker" alt="test" height="18"/>
<script type="text/javascript">
var oFileChecker = document.getElementById("fileChecker"); function changeSrc(filePicker)
{
oFileChecker.src = filePicker.value;
} oFileChecker.onreadystatechange = function ()
{
if (oFileChecker.readyState == "complete")
{
checkSize();
}
} function checkSize()
{
var limit = document.getElementById("fileSizeLimit").value * 1024; if (oFileChecker.fileSize > limit)
{
alert("too large");
}
else
{
alert("ok");
}
}
</script>
可以判断一个文件的大小。PostedFile.ContentLength就可以判断出文件的大小