2013-02-24 5 views
0

Я использую элемент управления загрузкой файла asp.net, но пользователь дважды выбирает файл, первый сброс сбрасывается. Например: я выбираю 3 файла, прежде чем нажать кнопку «Загрузить», снова нажмите «Обзор» и выберите еще два. Затем я нажимаю кнопку «Загрузить». Если я вызову Resquest.Files, я получу только последние два файла. Мне нужно получить все 5 файлов.Множественная загрузка файлов сбрасывает Request.Files

WebForm1.aspx: http://pastebin.com/kkpUA3dr

WebForm1.aspx.cs: http://pastebin.com/N9ahyU8c

+0

Похоже, он работает как задумано. Вы отправляете сообщение до изменения выбранных файлов? –

+0

Что я хочу: если пользователь выбирает два файла и перед тем, как нажать кнопку «Загрузить», выберите еще три, я хочу, чтобы все 5 файлов получили? – user2013107

ответ

1

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

+0

Да, это то, о чем я говорю, есть способ сохранить все выборы? – user2013107

0

Затем вам нужно несколько файлов загрузившему

+0

Я использую это, посмотрите на код. – user2013107

0

asp:FileUpload не поддерживают вас, чтобы сделать это. В этом случае вы можете использовать другую библиотеку для загрузки нескольких файлов. HTML:

<html > 
 
<head runat="server"> 
 
    <title>Multiple file Upload</title> 
 
    <script src="http://jquery-multifile-plugin.googlecode.com/svn/trunk/jquery.js" 
 
    type="text/javascript"></script> 
 
    <script src="http://jquery-multifile-plugin.googlecode.com/svn/trunk/jquery.MultiFile.js" 
 
    type="text/javascript"></script> 
 
</head> 
 
<body> 
 
    <form id="form1" runat="server"> 
 
    <div> 
 
    
 
     <asp:FileUpload ID="FileUploadJquery" runat="server" 
 
     class="multi" accept="jpg|png" /> 
 
    
 
    </div> 
 
    </form> 
 
</body> 
 
</html>

C# код для обработки управления FileUpload:

string fileName1 = ""; 
string FullName1 = ""; 
HttpFileCollection uploads = Request.Files; 
//for (int fileCount = 0; fileCount < uploads.Count; fileCount++) 
for (int fileCount = 1; fileCount < 6; fileCount++) 
{ 
    if (fileCount < uploads.Count) 
    { 
     HttpPostedFile uploadedFile = uploads[fileCount]; 
     fileName1 = Path.GetFileName(uploadedFile.FileName); 
     if (uploadedFile.ContentLength > 0) 
     { 
      string[] a = new string[1]; 
      a = uploadedFile.FileName.Split('.'); 
      fileName1 = a.GetValue(0).ToString() + 
      "." + a.GetValue(1).ToString(); 
      uploadedFile.SaveAs(Server.MapPath 
      ("mobile_image/mob_img/" + fileName1)); 
     } 
} 

Источник: http://www.codeproject.com/Tips/531692/Multiple-File-Upload-Using-jQuery