在ASP.NET应用程序中,我想处理上传的文件。 HttpContext.Current.Request.Files.AllKeys
包含以下内容:
[0]File2
[1]File2
[2]flTeklif
[3]flTeklif
[4]flTeklif
[5]flTeklif
如何只选择将flTeklif
键上传到List<HttpPostedFile>
的上传文件?
我试过了:
var uploads = HttpContext.Current.Request.Files.AllKeys
.Where(s=>s.stringname == "flTeklif")
但是只选择键而不是文件。如何选择Files.Where(key == "flTeklif")
?
答案 0 :(得分:4)
HttpRequest.Files
是HttpFileCollection
,其AllKeys
property是一个字符串数组。
所以你可以使用AllKeys.Where(s => s == "flTeklif")
。
到目前为止,对于你的问题的字面解释,这可能就是为什么你因为它没有任何意义而非常重视和近距离投票。
如果您的实际问题是“我如何选择flTeklif
作为其键”的文件,请使用:
var files = HttpContext.Current.Request.Files;
var result = new List<HttpPostedFile>();
for (int i = 0; i < files.AllKeys.Count; i++)
{
if (files.AllKeys[i] == "flTeklif")
{
result.Add(files.AllKeys[i]);
}
}
然后result
将包含您感兴趣的文件。
答案 1 :(得分:1)
好的,我理解。可能是
HttpContext.Current.Request.Files.Cast<HttpPostedFile>().Where(c => c.FileName.Contains("flTeklif")).ToList();
答案 2 :(得分:0)
使用 HttpFileCollection.GetKey(Int32) 方法。没有提到 AllKeys
数组顺序与文件 HttpFileCollection
相似。
int i;
HttpFileCollection MyFileColl = Request.Files;
for( i= 0; i< MyFileColl.Count; i++)
{
if( MyFileColl.GetKey(i) == "flTeklif")
{
//...
}
}