上传文件大小限制的问题

huangchao2011 2012-04-22 10:38:10
我想上传大于4M的文件 已经修改了配置文件的<httpruntime executiontimeout="300" maxrequestlength="40960"
usefullyqualifiedredirecturl="false"/>
可是没其作用,而且我把maxrequestlength的值设置为1的时候 还是可以传下于4M的文件,换句话说这个值就没其作用
然后网上给出了一段代码iserviceprovider provider = (iserviceprovider) httpcontext.current;
httpworkerrequest wr = (httpworkerrequest) provider.getservice(typeof(httpworkerrequest));
byte[] bs = wr.getpreloadedentitybody();
....
if (!wr.isentireentitybodyispreloaded())
{
int n = 1024;
byte[] bs2 = new byte[n];
while (wr.readentitybody(bs2,n) >0)
{
.....
}
}
我不懂这是什么意思,也不知道该怎样用.....在下真心是个asp.net 新手还往各位有爱心人士指点一二,最好是能给出个实例
...全文
538 21 打赏 收藏 转发到动态 举报
写回复
用AI写文章
21 条回复
切换为时间正序
请发表友善的回复…
发表回复
huangchao2011 2012-04-23
  • 打赏
  • 举报
回复
[Quote=引用 20 楼 的回复:]
看看这个连接,有可能需要在iis里设置:

http://www.banmanpro.com/support2/File_Upload_limits.asp
[/Quote]
iis设置已经修改了...windows\system32\inesrv\下的metabase.xml,用计事本打开metabase.xml,找到ASPMaxRequestEntityAllowed 把他修改为需要的值,默认为204800,即200K,把它修改为51200000(50M)
可是....没效果
  • 打赏
  • 举报
回复
看看这个连接,有可能需要在iis里设置:

http://www.banmanpro.com/support2/File_Upload_limits.asp

huangchao2011 2012-04-23
  • 打赏
  • 举报
回复
[Quote=引用 18 楼 的回复:]
修改maxrequestlength大于4m,难道还是会抛异常?
[/Quote]
没用~不信自己试试
huangchao2011 2012-04-22
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 的回复:]
引用 3 楼 的回复:
int fileLength = FileUpload1.PostedFile.ContentLength;
if (fileLength <= 1024){}//这里是1024KB

感谢你的回复,但是我想锁定 是,我是个菜鸟 但是也不至于那么菜啊这点判断还是有的
问题是我就是想传大于4M的文件
[/Quote]
呵呵别这么说,就我这问题 我想上传4M以上的文件 您有方法么?
xboxeer 2012-04-22
  • 打赏
  • 举报
回复
在下也水平有限~~~怕解释不清楚误人子弟~
[Quote=引用 4 楼 的回复:]

引用 2 楼 的回复:
貌似是asp.net本质论里面的一段代码 接管了application里面post过来的数据 然后还要模拟这些数据继续往之后的application往下传 蛮长一段代码没仔细看估计也得看半天 如果你真是新手的话这些东西还是等用熟了再看 坦率说有些东西是得要一定积累才能看懂的

额 真心看不懂,您能讲解下?或者解决我提出来的 问题么?
[/Quote]
huangchao2011 2012-04-22
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 的回复:]
int fileLength = FileUpload1.PostedFile.ContentLength;
if (fileLength <= 1024){}//这里是1024KB
[/Quote]
感谢你的回复,但是我想锁定 是,我是个菜鸟 但是也不至于那么菜啊这点判断还是有的
问题是我就是想传大于4M的文件
huangchao2011 2012-04-22
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 的回复:]
貌似是asp.net本质论里面的一段代码 接管了application里面post过来的数据 然后还要模拟这些数据继续往之后的application往下传 蛮长一段代码没仔细看估计也得看半天 如果你真是新手的话这些东西还是等用熟了再看 坦率说有些东西是得要一定积累才能看懂的
[/Quote]
额 真心看不懂,您能讲解下?或者解决我提出来的 问题么?
EvilSickle 2012-04-22
  • 打赏
  • 举报
回复
int fileLength = FileUpload1.PostedFile.ContentLength;
if (fileLength <= 1024){}//这里是1024KB
  • 打赏
  • 举报
回复
修改maxrequestlength大于4m,难道还是会抛异常?
xboxeer 2012-04-22
  • 打赏
  • 举报
回复
貌似是asp.net本质论里面的一段代码 接管了application里面post过来的数据 然后还要模拟这些数据继续往之后的application往下传 蛮长一段代码没仔细看估计也得看半天 如果你真是新手的话这些东西还是等用熟了再看 坦率说有些东西是得要一定积累才能看懂的
test2050 2012-04-22
  • 打赏
  • 举报
回复
获取文件的大小直接比较4M了。
maxrequestlength="40960" 是40M了。不是4M
huangchao2011 2012-04-22
  • 打赏
  • 举报
回复
[Quote=引用 16 楼 的回复:]
楼主的意思是想传大于4M的文件,小于或者等于4M的都不上传,对吧?
如果真的是这样,你可以在save方法调用之前,先判断文件的大小,如果小于或则等于4M,就不用save了。
[/Quote]
asp,net默认上传文件大小限制在了4M 大于4M就传不上去,我现在想找个方法解除这个闲置,传大于4M的文件只是一个举个事例而已。。。现在的问题在于没办法解除这个限制....
chen_ya_ping 2012-04-22
  • 打赏
  • 举报
回复
楼主的意思是想传大于4M的文件,小于或者等于4M的都不上传,对吧?
如果真的是这样,你可以在save方法调用之前,先判断文件的大小,如果小于或则等于4M,就不用save了。
huangchao2011 2012-04-22
  • 打赏
  • 举报
回复
[Quote=引用 14 楼 的回复:]
这段代码的作用,我的理解,主要是为了防止上传文件大小超出config里的限制时,ie出现文件找不到的错误页面。
基本的思路就是,如果上传文件大小超过限制,已经上传的字节必须都读进来,然后扔掉。满足if (!wr.isentireentitybodyispreloaded())
条件的就是上传文件大小超过限制的情况,while (wr.readentitybody(bs2,n) >0)
……
[/Quote]
您好,页面报错捕捉异常,我自己开始已经实现了,可是我现在提的这个问题,那就是我要传大于4M的文件 ,应该怎么做?捕捉不捕捉异常的跟我要传文件没啥子关系啊!大于4M就提示超出了范围,小于的话就OK,最后还是没有实现我想要的效果....
还请给个实现大于4M文件的方法
  • 打赏
  • 举报
回复
这段代码的作用,我的理解,主要是为了防止上传文件大小超出config里的限制时,ie出现文件找不到的错误页面。
基本的思路就是,如果上传文件大小超过限制,已经上传的字节必须都读进来,然后扔掉。满足if (!wr.isentireentitybodyispreloaded())
条件的就是上传文件大小超过限制的情况,while (wr.readentitybody(bs2,n) >0)
循环里就是把上传的字节都读到bs2里,却不用,这样可以避免ie报错,但是iis已经产生了exception,所以还必须在global.asax.cs里的application_error里再捕获一下exception,清除掉以后,就可以转到用户定义的友好的出错页面去了。

参考我回的这个帖子:

asp.net中c# 怎么做当上传打文件时提示上传文件太大不能上次
huangchao2011 2012-04-22
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 的回复:]
获取文件的大小直接比较4M了。
maxrequestlength="40960" 是40M了。不是4M
[/Quote]
我不是要传4M的文件 我是想传大于4M的文件,那个40M的修改只是为了把下于或等于4M文件的限制给解除而已
huangchao2011 2012-04-22
  • 打赏
  • 举报
回复
[Quote=引用 11 楼 的回复:]
超大文件还是用第三方控件吧。传统HTML方式上传会有很多问题。
[/Quote]
也不是超大文件,就是学习性的探究,就是想搞清楚解除asp.net默认上传文件4M的限制是怎怎么搞
网上都说修改配置文件就行,可是真心没看到效果..
songsu 2012-04-22
  • 打赏
  • 举报
回复
超大文件还是用第三方控件吧。传统HTML方式上传会有很多问题。
地菜 2012-04-22
  • 打赏
  • 举报
回复
iis 什么版本的呀 ,搜搜
evelyn_green 2012-04-22
  • 打赏
  • 举报
回复
好象买成品大上传控件可以解决吧,。

62,075

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧