c# - Request.Files - 无需 foreach 循环即可获取第一个文件

标签 c# asp.net-mvc

我是网络新手。这是我的操作:

[HttpPost]
 public virtual ActionResult SaveFile(IEnumerable<VacationSchedule.Models.VacationTypeViewModel> vacationTypes)
        {
            foreach (string fileName in Request.Files)
            {
                HttpPostedFileBase file = Request.Files[fileName];
                string type = file.ContentType;
                string nameAndLocation = "~/Documents/" + System.IO.Path.GetFileNameWithoutExtension(file.FileName);
                file.SaveAs(Server.MapPath(nameAndLocation));
            }      
            return View(MVC.Admin.ActionNames.Documents);
        }

问题:我知道Request.Files中只能有一个文件。是否有任何方法可以在没有 foreach 循环的情况下获取此文件?

最佳答案

获取文件名第一个元素的索引/键:

var imagem = Request.Files[Request.Files.GetKey(0)];

关于c# - Request.Files - 无需 foreach 循环即可获取第一个文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30232064/

相关文章:

c# - 将复杂的 JSON 字符串传递给 c# 中的 1 个参数 webmethod - 反序列化为对象 (json.net)?

c# - 重构代码以避免类型转换

c# - 如何检查 T 是否是泛型方法中的对象列表

javascript - 修改Kendo UI Dropdownlist的change事件

c# - 在 .Net 中存储和显示日期时间的正确方法是什么?

c# - 重命名 JSON 输出的字段

c# - .NET 示例 VCF 阅读器

c# - 在 WPF DataGrid 中实现自定义复制和粘贴,这在其中没有行时有效

c# - 如何确定 Dbcontexts 的范围(以防止整个应用程序的单例上下文)

c# - MVC4 区域中的内容是否可以有相对路径?