![](/img/trans.png)
[英]Select multiple files at a time using FileUpload control in asp.net
[英]How to Save multiple files in asp.net 4.0 by Fileupload1 Control with multiple fileupload2 control?
如何通過Fileupload Control在多個文件上傳控件中保存asp.net 4.0中的多個文件? 我有兩個fileupload控件,一個用於圖像,第二個用於thumbimage。 所以我想保存多個圖像和拇指像?
當你在循環中時,你實際上用第二個文件覆蓋了第一個文件。 我建議你創建一個文件列表,並添加到循環中的列表,如下所示。 然后,當您可以對第一個項目使用firstOrDefault()以及使用Skip()和Take()選擇您想要的任何項目時,您將擁有一個文件列表。
HttpFileCollection uploadedFiles = Request.Files;
List<HttpPostedFile> fileList1 = new List<HttpPostedFile>();
List<HttpPostedFile> fileList2 = new List<HttpPostedFile>();
for (int i = 0; i < uploadedFiles.Count; i++)
{
HttpPostedFile hpf = uploadedFiles[i];
var hpfKey = uploadedFiles.Keys[i];
if (hpfKey.IndexOf("FileUpload1") > 0)
{
fileList1.Add(hpf);
}
if (hpfKey.IndexOf("FileUpload2") > 0)
{
fileList2.Add(hpf);
}
}
更新:
現在要獲取第一個文件,你在列表上調用FirstOrDefault(),如下所示:
fileList1.FirstOrDefault();
並獲得第二個文件:
fileList1.Skip(1).FirstOrDefault();
HttpFileCollection uploadedFiles = Request.Files;
int i = uploadedFiles.Count;
List<HttpPostedFile> fileList1 = new List<HttpPostedFile>();
List<HttpPostedFile> fileList2 = new List<HttpPostedFile>();
if (i > 0)
{
for (int j = 0; j < i/2; j++)
{
fileList1.Add(uploadedFiles[j]);
}
}
if (i > 0)
{
for (int j = i / 2; j < i; j++)
{
fileList2.Add(uploadedFiles[j]);
}
}
int filecount = fileList1.Count;
if (filecount > 0)
{
for (int j = 0; j < filecount; j++)
{
string image = fileList1[j].FileName;
fileList1[j].SaveAs(imagepath);
string image = fileList2[j].FileName;
fileList2[j].SaveAs(imagepath);
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.