C# 有没有办法使用HttpPostedFile类获取上载进度?
我想使用该类将一个或多个大文件从网页上载到ASP.NET MVC控制器。使用此类,上传的大于256 KB的文件将缓冲到磁盘,而不是保存在服务器内存中 我的理解是,可以这样做:C# 有没有办法使用HttpPostedFile类获取上载进度?,c#,asp.net-mvc,ajax,json,callback,C#,Asp.net Mvc,Ajax,Json,Callback,我想使用该类将一个或多个大文件从网页上载到ASP.NET MVC控制器。使用此类,上传的大于256 KB的文件将缓冲到磁盘,而不是保存在服务器内存中 我的理解是,可以这样做: if (context.Request.Files.Count > 0) { string tempFile = context.Request.PhysicalApplicationPath; for(int i = 0; i < context.Request.Files.Count; i+
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));
}
}
}
if(context.Request.Files.Count>0)
{
字符串tempFile=context.Request.PhysicalApplicationPath;
for(int i=0;i0)
{
uploadFile.SaveAs(string.Format(“{0}{1}{2}”),
tempFile,“Upload\\”,uploadFile.FileName));
}
}
}
有没有办法设置回调,或者使用其他方法,通过AJAX或JSON定期向网页返回状态,以便显示进度条和完成百分比?代码是什么样子的?不。Asp.net始终在使用HttpRequest.InputStream时加载整个请求内容
如果你想提供这样的反馈,你要么需要在客户端使用类似flash的东西,要么编写自己的http handle,直接转到HttpWorkerRequest方法自己加载实体体。我倾向于同意serialseb。您需要编写自己的http处理程序,该处理程序可能会将上载进度输出到某个事件,该事件可能具有查询此类进度的特定操作',允许客户端定期查询更新。谢谢,我在这方面也遇到了一些问题,您知道编写自己的http处理程序的好教程吗?下面是另一个好例子