我想使用HttpPostedFile類從網頁上傳一個或多個大型文件到ASP.NET MVC控制器。使用此類,上傳的大於256 KB的文件將緩存到磁盤,而不是保存在服務器內存中。有沒有辦法使用HttpPostedFile類獲取上傳進度?
我的理解是,它可以這樣做:
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));
}
}
}
有沒有辦法定期設置回調,或使用其他一些方法,返回狀態通過AJAX或JSON的網頁,使進度條和完成百分比可以顯示?代碼是什麼樣的?
謝謝我也有這個問題,[見我的問題](http://stackoverflow.com/q/11779751/340045),你知道任何好的教程編寫自己的http處理程序? – Ben 2012-08-04 11:51:19