httppostedfile类引用_有没有办法使用HttpPostedFile类获取上传进度?

I want to use the HttpPostedFile Class to upload one or more large files to an ASP.NET MVC controller from a web page. Using this class, uploaded files larger than 256 KB are buffered to disk, rather than held in server memory.

My understanding is that it can be done like this:

if (context.Request.Files.Count > 0)

{

string tempFile = context.Request.PhysicalApplicationPath;

for(int i = 0; i < context.Request.Files.Count; i++)

{

HttpPostedFile uploadFile = context.Request.Files[i];

if (uploadFile.ContentLength > 0)

{

uploadFile.SaveAs(string.Format("{0}{1}{2}",

tempFile,"Upload\\", uploadFile.FileName));

}

}

}

Is there a way to set a callback, or using some other method, return status periodically to the web page via AJAX or JSON so that a progress bar and percent completed can be displayed? What would the code look like?

解决方案

Nope. Asp.net always load the whole of the request content as soon as you use HttpRequest.InputStream.

If you want to provide such a feedback, you either need to do it on the client-side using something like flash, or write your own http hanlder that would go straight to the HttpWorkerRequest methods to load the entity body yourself.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值