作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我想使用 HttpPostedFile用于将一个或多个大文件从网页上传到 ASP.NET MVC Controller 的类。使用此类,上传的大于 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 处理程序,它会直接进入 HttpWorkerRequest 方法来自己加载实体主体。
关于c# - 有没有办法使用 HttpPostedFile 类获取上传进度?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1154734/
我是一名优秀的程序员,十分优秀!