上传文件太大后,页面出错如何处理?? 请问acewang客户端如何获得上传文件大小? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 在web.config文件配置runtime节点信息,详细情况见.net sdk。 用js判断其实也不是很好,往往因为客户端的安全性做不到,js参考:function check(){ var filename = document.all("file1").value; if(filename == "") { alert("文件没选择!"); return false; } try { var stream = new ActiveXObject("ADODB.Stream"); stream.Type = 1; stream.Open(); stream.LoadFromFile(filename); alert(stream.Size); if(stream.Size > 1024000) { alert("文件太大, 不让你传!!!"); return false; } } catch(e) { alert("IE安全性太高!"); return false; } return true;}//把IE选项的"跨域访问数据源"改成"启用" 显示正在上传文件,如果再不行的话,用TRY。。CATCH。。end try <!-- maxRequestLength指示 ASP.NET 支持的最大文件上载大小。 大小以 KB 为单位。默认值为 4096 KB (4 MB)。 --> <httpRuntime maxRequestLength="10000" useFullyQualifiedRedirectUrl="true" executionTimeout="45"/>加在web.config的<system.web>中,maxRequestLength=10000表示最大10M RE:acewang:谢谢!可惜确实会出现安全警告RE: zhengjianning402问题是代码根本不会被执行就转到出错页面了,如果能运行到codebehind的代码就好办了Re:leonpard答非所问 用JS判断确实麻烦,还不如不用...gz 在文件上传后检测文件大小。过大的话就输入JAVASCRIPT对话框。然后返回前一页面即可。(这是在服务器端进行的检测的)if (filename.Length>60000){Response.Write("<script language=\"javascript\">alert('文件太大。文件最大不得超过6M大小!');history.back(-1);<"+"/script>");Response.End()} RE dekey1000(dekey)我前面说得很清楚了,服务器文件大小检测的代码根本不会执行,服务器收到上传文件超过配置值就直接出错了,直接停止处理页面代码。 如果你希望上传不超过6M,可以在配置文件里设置一个足够大的值,比如20M。然后用Request.TotalBytes判断上传的文件大小。 你是在你的文件里面设置了 不能超过6M的大小吧,而没有在MACHINA。CONFIG或WEB。CONFIG里面设置<httpRuntime executionTimeout="90" maxRequestLength="4096" useFullyQualifiedRedirectUrl="false" minFreeThreads="8" minLocalRequestFreeThreads="4" appRequestQueueLimit="100" />maxRequestLength="4096" 是要改的,否则当然会出错了。 你要在 maxRequestLength="6144" 里设置尽量大一点,比如614400,然后在你的ASPX里面限制你文件的大小。如果你要上传的文件大于你限制的文件大小的话,是会显示“页面无法显示”的错误的。设置的数值只是个比方,要大一点的,而限制是要在你的ASPX页面里进行限制的。 个位高手,分不多,请教一个GridView的问题(在线等) 哪位能帮我解答几个问题谢谢! ★☆★第一次散分(2)★☆★ 如何用递归写出一个目录,像资源管理器那样的 所有下载链接都要检查用户是否登录 ??这样可以减少内存的使用吗? 问一个asp.net页面之间传数据的问题 C#如何读取指定地址的jpg图片? 请高手回答?? 使用了自定义控件,以后如何修改页面样式?? =====我快疯了。高手快来呀。就命。在线等待。-----临死前的绝帖!!! 初学ASP.NET,关于连接数据库问题.在线等待. 请教:智能导航(SmartNavigation)的使用问题?
function check()
{
var filename = document.all("file1").value;
if(filename == "")
{
alert("文件没选择!");
return false;
}
try
{
var stream = new ActiveXObject("ADODB.Stream");
stream.Type = 1;
stream.Open();
stream.LoadFromFile(filename);
alert(stream.Size);
if(stream.Size > 1024000)
{
alert("文件太大, 不让你传!!!");
return false;
}
}
catch(e)
{
alert("IE安全性太高!");
return false;
}
return true;
}//把IE选项的"跨域访问数据源"改成"启用"
maxRequestLength指示 ASP.NET 支持的最大文件上载大小。 大小以 KB 为单位。默认值为 4096 KB (4 MB)。 -->
<httpRuntime maxRequestLength="10000"
useFullyQualifiedRedirectUrl="true"
executionTimeout="45"/>
加在web.config的<system.web>中,maxRequestLength=10000表示最大10M
谢谢!可惜确实会出现安全警告
RE: zhengjianning402
问题是代码根本不会被执行就转到出错页面了,如果能运行到codebehind的代码就好办了
Re:leonpard
答非所问
gz
Response.Write("<script language=\"javascript\">alert('文件太大。文件最大不得超过6M大小!');history.back(-1);<"+"/script>");
Response.End()
}
我前面说得很清楚了,服务器文件大小检测的代码根本不会执行,服务器收到上传文件超过配置值就直接出错了,直接停止处理页面代码。
然后用Request.TotalBytes判断上传的文件大小。
MACHINA。CONFIG或WEB。CONFIG里面设置
<httpRuntime executionTimeout="90" maxRequestLength="4096"
useFullyQualifiedRedirectUrl="false" minFreeThreads="8" minLocalRequestFreeThreads="4"
appRequestQueueLimit="100" />maxRequestLength="4096" 是要改的,否则当然会出错了。
然后在你的ASPX里面限制你文件的大小。
如果你要上传的文件大于你限制的文件大小的话,是会显示“页面无法显示”的错误的。
设置的数值只是个比方,要大一点的,而限制是要在你的ASPX页面里进行限制的。