Asp.net多个文件上传

问题描述:

您好



我从ASP.Net网络表单上传多个文件。我们有一个页面有多个面板



来自面板2我附加5个文件,我从5个面板提交页面



i我在会话中保存文件信息并在Ispostback中分配给FileUpload



ObjFileUploader1 =(FileUpload)Session [FileUpload1];

ObjFileUploader2 =(FileUpload)Session [FileUpload2];

ObjFileUploader3 =(FileUpload)Session [FileUpload3];

ObjFileUploader4 =(FileUpload)会话[FileUpload4];

ObjFileUploader5 =(FileUpload)会话[FileUpload5];



提交按钮我要迭代通过ObjFileUploader1,ObjFileUploader2,ObjFileUploader3,ObjFileUploader4,ObjFileUploader5



保存在数据库和服务器中



请求。由于我在第5小组,文件无法正常工作



目前我在做什么下面,重复的代码



if(temp!= 0&& ObjFileUploader1!= null&& ObjFileUploader1.HasFile)

{

保存数据库和上传文件

}



if(temp!= 0&& ObjFileUploader2!= null&& ObjFileUploader2.HasFile)

{

保存数据库和上传文件

}



if(temp!= 0&& ObjFileUploader3!= null&& ObjFileUploader3.HasFile)

{

保存数据库和上传文件

}



请帮帮我



我尝试过:



Request.file集合不工作

Request.files

Hi

I am uploading multiple files from ASP.Net web form. we have one page with multiple panels

from panel 2 i am attaching 5 files and from panel 5 i am submitting the page

i am saving the file information in sessions and assigning to FileUpload in Ispostback

ObjFileUploader1 = (FileUpload)Session["FileUpload1"];
ObjFileUploader2 = (FileUpload)Session["FileUpload2"];
ObjFileUploader3 = (FileUpload)Session["FileUpload3"];
ObjFileUploader4 = (FileUpload)Session["FileUpload4"];
ObjFileUploader5 = (FileUpload)Session["FileUpload5"];

on submit button i want to iterate through ObjFileUploader1 , ObjFileUploader2 , ObjFileUploader3,ObjFileUploader4,ObjFileUploader5

to save in DB and Server

request.files not working because of i am in panel 5

Currently i am doing like below , repetitive code

if (temp != 0 && ObjFileUploader1 != null && ObjFileUploader1.HasFile)
{
Save DB and upload file
}

if (temp != 0 && ObjFileUploader2 != null && ObjFileUploader2.HasFile)
{
Save DB and upload file
}

if (temp != 0 && ObjFileUploader3 != null && ObjFileUploader3.HasFile)
{
Save DB and upload file
}

Please help me

What I have tried:

Request.file collection not working
Request.files

我不完全理解这个问题,但我认为你正在寻找循环上传控件。把它们放在占位符中



I don't fully understand the question but I think you are looking to loop through your upload controls. Put them in a placeholder

<asp:PlaceHolder ID="placeUplode" runat="server">
    <asp:FileUpload ID="ObjFileUploader1" runat="server" />
    <asp:FileUpload ID="ObjFileUploader2" runat="server" />
    <asp:FileUpload ID="ObjFileUploader3" runat="server" />
    <asp:FileUpload ID="ObjFileUploader4" runat="server" />
    <asp:FileUpload ID="ObjFileUploader5" runat="server" />
</asp:PlaceHolder>





然后在您的代码中访问它们





then in your code access them like this

foreach(FileUpload uploader in placeUplode.Controls.OfType<FileUpload>())
{
    System.Diagnostics.Debug.WriteLine(uploader.ID);
    if (uploader.HasFile)
    {
        // your code here
    }
}