设为首页
收藏本站
设为首页
点击收藏
手机版
手机扫一扫访问
迪恩网络手机版
关注官方公众号
微信扫一扫关注
公众号
忘记密码?
QQ登录
微信登录
登陆
注册
门户
Portal
开源
问答
系统
工作
资讯
论坛
BBS
硬件
编程
漏洞
安全
虚拟化
问答
投稿
文章
帖子
用户
快速发帖
客服电话
点击联系客服
在线时间:8:00-16:00
客服电话
132-9538-2358
电子邮件
[email protected]
APP下载
迪恩网络APP
随时随地掌握行业动态
官方微信
扫描二维码
关注迪恩网络微信公众号
问题反馈
返回顶部
电脑基础
选购指南
故障排查
笔记本
电脑组装
电视盒子
平板电脑
电脑周边
Python
Java
Node.js
c#
Ruby
JSP
LUA
ASP.NET
VBScript
VB.NET
Perl
Erlang
Scala
Julia
JavaScript
VUE
JQuery
Node.js
TypeScript
AJAX
HTML
CSS
BootStrap
综合其他
经典问答
漏洞分析
CVE漏洞
安全教程
安全设置
杀毒防毒
病毒查杀
脚本攻防
入侵防御
工具使用
加密解密
手机安全
安全其他
Docker
网址转二维码
网址缩短
网址转二维码
网址转二维码
qrcode.16892.net
qrcode.55276.net
qrcode.devdocs.uk
qrcode.mlink.in
qrcode.ogeek.cn
qrcode.ostack.cn
qrcode.shenghuobao.net
qrcode.shenzhenjia.cn
qrcode.sqlite.in
qrcode.vigge.cn
qrcode.vigge.net
qrcode.vigges.net
qrcode.wujigu.com
qrcode.xstack.ru
tools.16892.net
tools.55276.net
tools.devdocs.uk
OStack程序员社区-中国程序员成长平台
›
门户
›
编程
›
ASP.NET
›
ASP.NET编程经验
如何解决ASP.NET中的文件上传大小限制的问题
原作者: [db:作者] 来自:
[db:来源]
收藏
邀请
#
re: URL处理两个小工具方法
回复
如何解决ASP.NET中的文件上传大小限制的问题,我们知道在默认情况下ASP.NET的文件上传大小限制为2M,一般情况下,我们可以采用更改WEB.Config文件来自定义最大文件大小,如下:
<httpRuntime executionTimeout="300" maxRequestLength="40960" useFullyQualifiedRedirectUrl="false"/>这样上传文件的最大值就变成了4M,但这样并不能让我们无限的扩大MaxRequestLength的值,因为ASP.NET会将全部文件载入内存后,再加以处理。解决的方法是利用隐含的HttpWorkerRequest,用它的GetPreloadedEntityBody和ReadEntityBody方法从IIS为ASP.NET建立的pipe里分块读取数据。实现方法如下:
IServiceProvider provider=(IServiceProvider)HttpContext.Current;
HttpWorkerRequest wr=(HttpWorkerRequest)provider.GetService(typeof(HttpWorkerRequest));
byte[]bs=wr.GetPreloadedEntityBody();
.
if(!wr.IsEntireEntityBodyIsPreloaded())
{
intn=1024;
byte[]bs2=newbyte[n];
while(wr.ReadEntityBody(bs2,n)>0)
{
..
}
}这样就可以解决了大文件的上传问题了。
鲜花
握手
雷人
路过
鸡蛋
该文章已有
0
人参与评论
请发表评论
评论
全部评论
专题
导读
More+
上一篇:
如何使用jQuery向asp.netMvc传递复杂json数据-Filter篇
发布时间:2022-07-10
下一篇:
C#常用函数表及Asp.net(C#)常用函数表C#常用函数表
发布时间:2022-07-10
热门
推荐
More+
热门
话题
More+
阅读
排行榜
返回顶部
<httpRuntime executionTimeout="300" maxRequestLength="40960" useFullyQualifiedRedirectUrl="false"/>这样上传文件的最大值就变成了4M,但这样并不能让我们无限的扩大MaxRequestLength的值,因为ASP.NET会将全部文件载入内存后,再加以处理。解决的方法是利用隐含的HttpWorkerRequest,用它的GetPreloadedEntityBody和ReadEntityBody方法从IIS为ASP.NET建立的pipe里分块读取数据。实现方法如下:
IServiceProvider provider=(IServiceProvider)HttpContext.Current;
HttpWorkerRequest wr=(HttpWorkerRequest)provider.GetService(typeof(HttpWorkerRequest));
byte[]bs=wr.GetPreloadedEntityBody();
.
if(!wr.IsEntireEntityBodyIsPreloaded())
{
intn=1024;
byte[]bs2=newbyte[n];
while(wr.ReadEntityBody(bs2,n)>0)
{
..
}
}这样就可以解决了大文件的上传问题了。