我想使用HttpPostedFile类从网页上载一个或多个大文件到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++)
{
HttpPostedFile uploadFile = context.Request.Files[i];
if (uploadFile.ContentLength > 0)
{
uploadFile.SaveAs(string.Format("{0}{1}{2}",
tempFile,"Upload\\", uploadFile.FileName));
}
}
}
是否可以设置回调或使用其他方法通过AJAX或JSON定期将状态返回到网页,以便显示进度条和完成百分比?代码是什么样的?
解决方法:
不.一旦使用HttpRequest.InputStream,Asp.net始终会加载整个请求内容.
如果您想提供这样的反馈,则需要使用诸如Flash之类的功能在客户端进行,或者编写您自己的http hanlder,将其直接用于HttpWorkerRequest方法以自行加载实体主体.
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。