2014-12-05 6 views
-1

Добрый день,asp.net mvc + множественная загрузка файла с заголовком и описанием

Я очень новичок в ASP.NET MVC. Мое требование - создать небольшое веб-приложение с использованием MVC, которое может загружать несколько файлов с описанием и названием и заголовком. Я нашел много статей в Интернете, связанных с загрузкой одного или нескольких файлов, но по-прежнему не могу найти тех, кто говорит, как мое требование.

enter image description here

Описание и блок файла выбор может иметь столько, сколько пользователь один. Они могут загружать несколько файлов с описанием в одно нажатие кнопки загрузки.

Мне нужен ваш опыт, чтобы помочь мне. С наилучшими пожеланиями,

Veasna

+1

Как насчет показать нам, что вы пробовали? –

ответ

0

Я не думаю, что это именно проблема MVC.

Здесь вам нужно отправить форму, которая отправит несколько файлов и которые также отправят данные, связанные с каждым файлом (в данном случае описание каждого файла).

Фактически, с данными в виде многостраничной формы вы можете отправить этот тип информации, однако предыдущий опыт говорит мне, что несколько файлов, загружаемых только через многочастную форму, обычно приносят массу неприятностей.

Если ваши целевые пользователи, как ожидается, будут использовать несколько современных браузеров, я бы рекомендовал использовать API javascript HTML5, который чрезвычайно полезен и эффективен.

Вы можете использовать код клиента, чтобы определить, какие файлы выбирает ваш пользователь, какие значения описания присваиваются каждому файлу и строить объект JSON со всеми данными.

После создания пакета данных вы можете отправить его на свой сервер через вызов AJAX. На контроллере вы можете выполнить действие, которое управляет данным пакетом данных JSON, и сохраняет его так, как его определяет бизнес-модель.

У вас есть свободно отправная статья для файла JavaScript API здесь: http://www.html5rocks.com/en/tutorials/file/dndfiles/

Надеется, что это помогает.

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> 
Смежные вопросы