2014-12-05 2 views
-1

안녕하십니까,asp.net mvc + 제목 및 설명이 포함 된 다중 파일 업로드

저는 ASP.NET MVC가 새로 도입되었습니다. 내 요구 사항은 설명 및 제목 여러 파일을 업로드 할 수있는 MVC를 사용하여 작은 웹 응용 프로그램을 만드는 것입니다. 하나 이상의 파일 업로드와 관련된 웹에서 많은 기사를 찾았지만 여전히 내 요구 사항과 같은 사람들을 찾을 수 없습니다.

enter image description here

설명 및 파일 선택 사용자 블록은 하나만큼 가질 수있다. 그들은 하나의 업로드 버튼 클릭으로 설명이있는 여러 파일을 업로드 할 수 있습니다.

나를 도울 전문 지식이 필요합니다. 안부,

Veasna

+1

이 어떻게 우리에게 보여 대해 무엇을 시도? –

답변

0

나는이 정확히 MVC 문제라고 생각하지 않습니다.

여기에 필요한 것은 여러 파일을 보내고 각 파일 (이 경우 각 파일의 설명)과 연결된 데이터를 보내는 양식을 보내는 것입니다.

실제로 멀티 파트 양식 데이터를 사용하면 이러한 유형의 정보를 보낼 수 있지만 이전 경험에 따르면 멀티 파트 양식을 통해 업로드 된 여러 파일은 대개 많은 문제를 일으 킵니다.

타겟 사용자가 다소 현대적인 브라우저를 사용해야하는 경우 HTML5의 자바 스크립트 파일 API를 사용하는 것이 좋습니다. 이는 매우 유용하고 강력합니다.

클라이언트 코드를 사용하여 사용자가 선택중인 파일을 식별 할 수 있습니다. 설명 값은 각 파일에 할당되며 모든 데이터로 JSON 객체를 작성합니다.

일단 데이터 패키지를 빌드하면 AJAX 호출을 통해 서버로 보낼 수 있습니다. 컨트롤러에서이 JSON 데이터 패키지를 관리하고 비즈니스 모델에서 정의한 방식으로 저장하는 작업을 수행 할 수 있습니다. 이 도움이 http://www.html5rocks.com/en/tutorials/file/dndfiles/

희망 :

는 현재 자바 스크립트 파일 API에 대한 excelent 시작하는 기사가있다.

0

당신의 설명에 따라, 당신은 참조를 위해 아래의 링크를 통해 갈 수 있습니다 : - 또한

Multiple file upload with titles

일부 코드는 관련.

protected void SaveButton_Click(object sender, EventArgs e) 
    { 
     foreach (GridViewRow row in ImagesGrid.Rows) 
     { 
      var title = row.FindControl("txtTitle") as TextBox; 
      var description = row.FindControl("txtDescription") as TextBox; 
      var imageFile = row.FindControl("flUpload") as FileUpload; 
     } 
    } 
    protected void btnEnter_Click(object sender, EventArgs e) 
    { 
     if (txtImages.Text != "") 
     { 
      pnltwo.Visible= true; 
     } 
     var imageCount = Convert.ToInt32(txtImages.Text); 
     var list = new List<string>(imageCount); 
     list.AddRange(Enumerable.Repeat(String.Empty, imageCount)); 
     ImagesGrid.DataSource = list; 
     ImagesGrid.DataBind(); 

    } 

ASPX

<asp:Panel ID="pnlone" runat="server"> 

         <asp:Label ID="lbltext" runat="server" Text="Enter the no of images to upload"></asp:Label> 
          <asp:TextBox ID="txtImages" CssClass="form-control" runat="server"></asp:TextBox><br /> 
           <asp:RequiredFieldValidator ID="reqtxt" runat="server" CssClass="error-class" ControlToValidate="txtImages" ErrorMessage="Please enter value"></asp:RequiredFieldValidator> 
          <asp:Button ID="btnEnter" runat="server" CssClass="btn btn-prm" CausesValidation="true" OnClick="btnEnter_Click" Width="75px" Text="Upload" /> 
         </asp:Panel> 

         <asp:Panel ID="pnltwo" runat="server"> 

          <asp:GridView ID="ImagesGrid" runat="server" AutoGenerateColumns="false"> 
           <Columns> 
            <asp:TemplateField HeaderText="Sl No"> 
             <ItemTemplate><%# Container.DisplayIndex + 1 %></ItemTemplate> 
            </asp:TemplateField> 
            <asp:TemplateField HeaderText="Title"> 
             <ItemTemplate> 
              <asp:TextBox ID="txtTitle" runat="server" /> 
             </ItemTemplate> 
            </asp:TemplateField> 
            <asp:TemplateField HeaderText="Description"> 
             <ItemTemplate> 
              <asp:TextBox ID="txtDescription" runat="server" /> 
             </ItemTemplate> 
            </asp:TemplateField> 
            <asp:TemplateField HeaderText="File"> 
             <ItemTemplate> 
              <asp:FileUpload ID="flUpload" runat="server" /> 
             </ItemTemplate> 
            </asp:TemplateField> 
           </Columns> 
          </asp:GridView> 
          <br /> 
          <asp:Button ID="SaveButton" Text="Save" CssClass="btn btn-prm" CausesValidation="false" runat="server" OnClick="SaveButton_Click" /> 
         </asp:Panel>