Загрузка нескольких файлов сбрасывает Request.Files

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

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

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


person user2013107    schedule 24.02.2013    source источник
comment
Похоже, он работает как задумано. Вы отправляете обратно перед изменением выбранных файлов?   -  person Frazell Thomas    schedule 24.02.2013
comment
Я хочу: если пользователь выберет два файла и, прежде чем нажать кнопку загрузки, выберите еще три, я хочу получить все 5 файлов, понял?   -  person user2013107    schedule 24.02.2013


Ответы (3)


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

person Stay Foolish    schedule 24.02.2013
comment
Да, это то, о чем я говорю, есть ли способ сохранить все выделения? - person user2013107; 24.02.2013

Тогда вам понадобится программа для загрузки нескольких файлов.

person Dhruv Pandya    schedule 24.02.2013

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 # для управления загрузкой файлов:

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

person nguyenhoai890    schedule 05.05.2016