BebeSaiyan Ответов: 2

Как загрузить несколько файлов с помощью ajaxfileupload в ASP.NET в базу данных?


Привет, ребята! Я пытался загрузить шесть изображений с помощью ajaxfileupload в asp.net на сервер MSSQL, но он всегда сохраняет только одно изображение. Пожалуйста, помогите мне решить эту проблему. Вы также можете предложить лучшие альтернативы для достижения той же цели.

Что я уже пробовал:

Вот код aspx:

<div class="divTableBody">
                  <div class="divTableRow">
                     <div class="divTableCell">Thumbnail Images:
                       </div>
                        <div class="divTableCell"> 
                           <asp:AjaxFileUpload ID="itemFileUpload3" 
                           runat="server" 
                           OnUploadComplete="itemImage3OnUpload" 
                           MaximumNumberOfFiles="10" Width="420px"/>
                           <p  id="itemImage3Validate"></p> 
                       </div>
                  </div>
              </div>   


А вот и код aspx.cs:

protected void itemImage3OnUpload(object sender, AjaxFileUploadEventArgs 
      e)
    {

    string filename = e.FileName;
    Session["PicturePath3"] = filename;
    if (itemType1.Checked)
    {
        itemFileUpload3.SaveAs(Server.MapPath("~/Images/Sub Images/") +  
   filename);
    }
    else if (itemType2.Checked)
    {
        itemFileUpload3.SaveAs(Server.MapPath("~/Images/Sub Images/") + 
   filename);
    }

}

   protected void itemSaveButton_Click(object sender, EventArgs e)
   {

    try
    {

        string itemThumbImage = Session["PicturePath3"].ToString();


        int itemInstrumentID = 
       ConnectionClassGuitarItems.GetItemIDByNameAndModel
             (item_brandId,item_model);

        var subImg = new thumbnailImage
        {
            instrumentId = itemInstrumentID,
            subimages = itemThumbImage
        };


        ConnectionClassGuitarItems.AddThumnailImage(subImg);
        ScriptManager.RegisterStartupScript(this.Page,this.GetType()
       , "msgboxScc", "btnClickSuccess();", true);

        ClearTextFields2();

    }
    catch (Exception)
    {
        ScriptManager.RegisterStartupScript(this.Page, this.GetType()
     , "msgboxErr", "btnClickFail();", true);
    }


   } 


А затем я добавлю свои изображения, используя этот код:

public static void AddThumnailImage(thumbnailImage subImg)
{
    using (MusicStoreDBEntities obj = new MusicStoreDBEntities())
    {

        obj.thumbnailImages.Add(subImg);
        obj.SaveChanges();
    }
}

2 Ответов

Рейтинг:
0

Graeme_Grant

UploadedComplete это событие на сервере, которое вы должны слушать:

Цитата:
Вызывается на сервере при успешной загрузке файла. В этом случае экземпляр AjaxFileUploadEventArgs передается в аргументе, содержащем имя файла, размер и тип содержимого.

Более подробную информацию о событиях управления можно найти здесь: Пример AjaxFileUpload для загрузки нескольких файлов - CodingFusion[^]

ЗАПИСКА: Поиск в Google - это ваш друг, там много информации... Я программист MVC, поэтому мне пришлось посмотреть это. Приведенная выше информация была найдена с помощью этого: asp.net пример ajaxfileupload - поиск в Google[^]


BebeSaiyan

Спасибо, но есть ли разница между OnUploadComplete и UploadedComplete?

Graeme_Grant

Проверьте ссылку выше

Рейтинг:
0

Mahesh_111

пожалуйста, попробуйте ниже код

охраняемых недействительными ajaxUpload1_UploadComplete(объект отправителя, Аjaxcontroltoolkit.AjaxFileUploadEventArgs е)
{
id += 1;
строка файла = путь.GetFileName(электронная.Именем);
строка filepath = сервер.MapPath("~/Images/Gallery/" + filename);
ajaxUpload1.SaveAs(путь к файлу);

строку "вставка" = "вставить в слайдер (сполз,slurl) значения (" + @ИД + ",'" + @ПУТЬ_К_ОБРАЗУ + "')";
SqlCommand cmd = new SqlCommand(Insert, con);
УМК.Свойство Commandtype = Значение Commandtype.Текст;
пробовать
{
против.Открыть();
УМК.Метод executenonquery();
}
поймать (исключение бывший)
{
Ответ.Написать(напр.сообщение);
}
наконец
{
против.Закрывать();
УМК.Располагать();
}
}


Richard Deeming

Неформатированный; неполный; возможный SQL-инъекция[^] уязвимость; и даже не пытается ответить на вопрос.

(Не говоря уже о том, что он опоздал почти на восемь месяцев.)