Select 已按键上传文件
Select uploaded files by key
在 ASP.NET 应用程序中,我想处理上传的文件。 HttpContext.Current.Request.Files.AllKeys
包含以下内容:
[0]File2
[1]File2
[2]flTeklif
[3]flTeklif
[4]flTeklif
[5]flTeklif
我如何才能 select 仅将具有密钥 flTeklif
的上传文件放入 List<HttpPostedFile>
?
我试过这个:
var uploads = HttpContext.Current.Request.Files.AllKeys
.Where(s=>s.stringname == "flTeklif")
但这只是 select 密钥,而不是文件。我怎样才能 select Files.Where(key == "flTeklif")
?
HttpRequest.Files
is an HttpFileCollection
, whose AllKeys
property是一个字符串数组。
所以你可以直接使用 AllKeys.Where(s => s == "flTeklif")
.
到目前为止,对于你的问题的字面解释,这可能就是为什么你非常沮丧和反对的原因,因为它没有任何意义。
如果您的实际问题是 "How can I select the files that have flTeklif
as their key",请使用:
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
将包含您感兴趣的文件。
好的,我明白了。可能是
HttpContext.Current.Request.Files.Cast<HttpPostedFile>().Where(c => c.FileName.Contains("flTeklif")).ToList();
使用HttpFileCollection.GetKey(Int32)方法。没有提到 AllKeys
数组顺序与文件 HttpFileCollection
.
相似
int i;
HttpFileCollection MyFileColl = Request.Files;
for( i= 0; i< MyFileColl.Count; i++)
{
if( MyFileColl.GetKey(i) == "flTeklif")
{
//...
}
}
您可以使用以下代码获取针对特定密钥的所有已上传文件的列表
HttpFileCollection files = null;
try { files = HttpContext.Current.Request.Files; } catch { }
var allUploadedFilesAgainstThisKey = files.GetMultiple(singleKey); // singleKey is a string
// allUploadedFilesAgainstThisKey is of type IList<HttpPostedFile>
在 ASP.NET 应用程序中,我想处理上传的文件。 HttpContext.Current.Request.Files.AllKeys
包含以下内容:
[0]File2
[1]File2
[2]flTeklif
[3]flTeklif
[4]flTeklif
[5]flTeklif
我如何才能 select 仅将具有密钥 flTeklif
的上传文件放入 List<HttpPostedFile>
?
我试过这个:
var uploads = HttpContext.Current.Request.Files.AllKeys
.Where(s=>s.stringname == "flTeklif")
但这只是 select 密钥,而不是文件。我怎样才能 select Files.Where(key == "flTeklif")
?
HttpRequest.Files
is an HttpFileCollection
, whose AllKeys
property是一个字符串数组。
所以你可以直接使用 AllKeys.Where(s => s == "flTeklif")
.
到目前为止,对于你的问题的字面解释,这可能就是为什么你非常沮丧和反对的原因,因为它没有任何意义。
如果您的实际问题是 "How can I select the files that have flTeklif
as their key",请使用:
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
将包含您感兴趣的文件。
好的,我明白了。可能是
HttpContext.Current.Request.Files.Cast<HttpPostedFile>().Where(c => c.FileName.Contains("flTeklif")).ToList();
使用HttpFileCollection.GetKey(Int32)方法。没有提到 AllKeys
数组顺序与文件 HttpFileCollection
.
int i;
HttpFileCollection MyFileColl = Request.Files;
for( i= 0; i< MyFileColl.Count; i++)
{
if( MyFileColl.GetKey(i) == "flTeklif")
{
//...
}
}
您可以使用以下代码获取针对特定密钥的所有已上传文件的列表
HttpFileCollection files = null;
try { files = HttpContext.Current.Request.Files; } catch { }
var allUploadedFilesAgainstThisKey = files.GetMultiple(singleKey); // singleKey is a string
// allUploadedFilesAgainstThisKey is of type IList<HttpPostedFile>