gpt4 book ai didi

c# - 有没有办法使用 HttpPostedFile 类获取上传进度?

转载 作者:行者123 更新时间:2023-11-30 15:49:49 34 4
gpt4 key购买 nike

我想使用 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/

34 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com