2013-03-15 2 views
0

Этот элемент,загрузки нескольких файлов одним нажатием кнопки

<asp:FileUpload ID="FileUploadEventosCasal" runat="server" /> 

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

Я хотел бы знать, как загрузить несколько файлов (очереди) одним нажатием кнопки. Я не могу использовать .net 4.5. Я хотел бы что-то вроде этого примера: http://www.aspdotnet-suresh.com/2012/12/aspnet-upload-multiple-files-using.html Для того, чтобы сделать это работает, я сделал эти изменения:

<script src="js/jquery-1.8.2.js"></script> 
<script>$(function() {/* jquery.MultiFile.js code pasted here */});</script> 

<asp:FileUpload ID="FileUploadEventosCasal" CssClass:"multi" runat="server" /> 

Но это меняет только бежать. Когда я пытаюсь загрузить, он не работает. Вот событие кнопки:

protected void ButtonInsMultipleUpload_Click(object sender, EventArgs e) 
{ 
    HttpFileCollection fileCollection = Request.Files; 
    List<byte[]> imgs = new List<byte[]>(); 
    for (int i = 0; i < fileCollection.Count; i++) 
    { 
     HttpPostedFile uploadfile = fileCollection[i]; 
     imgs.Add(new byte[uploadfile.InputStream.Length]); 
     uploadfile.InputStream.Read(imgs[i], 0, imgs[i].Length); 
    } 
} 
+1

Поиск [Google] (https://www.google.com/search?q=asp+file+upload+multiple+files&aq=0&oq=asp+file+upload+mult&aqs=chrome.1.57j0l3j60j62.3303&sourceid=chrome&ie = UTF-8) – Dom

+0

Я нашел 3 решения. 2 не работал (оба с использованием jquery), а другой для .net 4.5 –

+0

Затем укажите это в своем вопросе (со ссылками). Больше информации, тем лучше. – Dom

ответ

1

Я нашел ошибку. В методе нажатия кнопки я внес изменения:

HttpFileCollection fileCollection = Request.Files; 
List<byte[]> imgs = new List<byte[]>(); 
for (int i = 0; i < fileCollection.Count; i++) 
{ 
    HttpPostedFile uploadfile = fileCollection[i]; 
    byte[] imageBytes = new byte[uploadfile.InputStream.Length]; 
    uploadfile.InputStream.Read(imageBytes, 0, imageBytes.Length); 
    if(imageBytes.Length > 0) 
     imgs.Add(imageBytes); 
} 

Спасибо за помощь!

1

Сверху моей головы? Я бы посмотрел на что-то вроде plupload.

Вы можете выбрать несколько файлов, и он поддерживает chunking ... Да, вам может потребоваться немного больше, чем сбросить элемент управления на странице, но у вас будет больше контроля и использования slicker.

Проверьте examples.

+0

Это полезно, но это не совсем то, что я ищу ... –

1

В ASP.NET 4.5 управления FileUpload поддерживает загрузку нескольких файлов:

<asp:FileUpload ID="FileUpload1" runat="server" AllowMultiple="true" /> 
+0

Да, но я не могу использовать 4.5. Сервер, который я использую, не поддерживает. –