ASP.net 上传巨大文件
看了思归的文章,
利用隐含的HttpWorkerRequest用它的GetPreloadedEntityBody 和 ReadEntityBody方法处理文件流
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;
while (wr.ReadEntityBody(bs2,n) >0)
{
.....
}
}
上面的代码一直不能完成。
1. wr.GetPreloadedEntityBody();有时返回是null,有时是7K的byte数组,怎么回事?
2. wr.ReadEntityBody(bs2,n) 为什么老返回0?
aspx的页面也相应的设置了 :
<form id="form1" runat="server" enctype="multipart/form-data" method="post" >
<input type="file" id="myFile" runat="server" style="width: 262px" />
为啥就不行呢?
给200分
利用隐含的HttpWorkerRequest用它的GetPreloadedEntityBody 和 ReadEntityBody方法处理文件流
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;
while (wr.ReadEntityBody(bs2,n) >0)
{
.....
}
}
上面的代码一直不能完成。
1. wr.GetPreloadedEntityBody();有时返回是null,有时是7K的byte数组,怎么回事?
2. wr.ReadEntityBody(bs2,n) 为什么老返回0?
aspx的页面也相应的设置了 :
<form id="form1" runat="server" enctype="multipart/form-data" method="post" >
<input type="file" id="myFile" runat="server" style="width: 262px" />
为啥就不行呢?
给200分
...全文
相关推荐
asp.net mvc 大文件分片上传
asp.net mvc大文件分片上传后自动合并,并带有进度条
ASP.NET MVC批量、分段上传文件并显示上传进度
ASP.NET MVC 结合File Api与FormData 批量、分段上传文件并显示上传进度 运行界面 /Home/FileUp 上传的文件保存在Upload目录下
asp.net使用ajax控件上传文件实现
ajax控件中动态添加数据,删除数据测试,asp.net中的ajax控件上传文件代码实现。
ASP.NET实现异步上传文件Demo
异步上传插件
ASP.NET 上传文件显示进度条
该控件的基础源文件为博客园 http://www.cnblogs.com/zengxiangzhan/archive/2010/02/28/1675137.html 原来的实现比较粗糙。 经过修改主要显示 进度条,文件名称,文件大小,文件上传速度等功能。 经过修改的显示界面大概如下 完成百分比:68% 文件名称:asp_net_progressbar.rar 文件大小:259KB 上传速度:150KB/sec 理论上说不限制上传文件的大小。但为了保证操作稳定性,以及不给服务器造成太大压力另外加上了个限制最大上传300M的文件。 VS2010 .net4.0开发工具


