asp.net - 如何在 ASP.NET Core 中进行这样的文件上传?

标签 asp.net asp.net-mvc file-upload upload asp.net-core-mvc

我正在关注一篇有关通过分块上传大文件的文章。处理每个文件的文章中的 .NET Framework(Core 之前)示例代码的一部分如下所示:

foreach (string file in Request.Files)
{
    var FileDataContent = Request.Files[file];
    if (FileDataContent != null && FileDataContent.ContentLength > 0)
    {
    ...
    }
}

我后来发现我应该使用Request.Form.Files,但是代码:

foreach (var file in Request.Form.Files)
{
    var xx = Request.Form.Files[file];
}

给我一​​个编译错误:

CS1503 Argument 1: cannot convert from 'Microsoft.AspNetCore.Http.IFormFile' to 'string'

我可以使用什么代码来实现与 ASP.NET Core 2.0 中所有上传文件的循环等效的效果?

最佳答案

现在(我已经尝试过 ASP.Net Core 1.0 和 2.0)Request.Form.Files类型为IFormFileCollection它实现了 IEnumerable<IFormFile> 。因此不再需要通过字符串键访问文件字典。您基本上枚举 IFormFile 的实例直接点赞:

foreach (IFormFile file in Request.Form.Files)
{
    //  Access properties of a file like file.Name or file.Length
}

关于asp.net - 如何在 ASP.NET Core 中进行这样的文件上传?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49397733/

相关文章:

asp.net - 从 WCF 服务返回 pdf 文件?

c# - EntityFramework Include (Eager Load) 虚拟属性的虚拟属性

php - Laravel 使用 Ajax 上传文件

java - 如何使用单例模式计数器为图像上传设置自动数字名称生成器

c# - 类型 'System.Web.Mvc.MvcWebRazorHostFactory' 的表达式不能用于返回类型 'System.Web.WebPages.Razor.WebRazorHostFactory'

php - 从ajax调用上传blueimp文件

ASP.Net - 如何从常规页面访问母版页对象?

javascript - 通过 jquery 或 javascript 显示隐藏的 asp.net 控件

asp.net - 负载平衡服务器上的ASP.NET表单例份验证

.net - Azure 和 Ninject(没有为此对象定义无参数构造函数。)