簡體   English   中英

如何通過Fileupload1 Control在多個fileupload2控件中保存asp.net 4.0中的多個文件?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM