2010-08-16 4 views
2

Моя веб-форма создает элементы управления вводом файлов динамически с помощью JavaScript:Загрузка файлов в ASP.NET

var input = document.createElement("input"); 
input.setAttribute("type", "file"); 
div.appendChild(input); 

Как я получаю «PostedFile» из этих элементов управления на стороне сервера?

ответ

2

Если он размещен в форме со всем остальным, содержимое должно быть в коллекции Request.Files.

+0

вы просто побили @Mark на удар –

2

Коллекция Request.Files будет содержать любые файлы, которые были отправлены.

1

Если вы предпочитаете элемент управления FileUpload, вы можете создать несколько элементов управления FileUpload на сервере (либо через источник asp с атрибутом runat, либо через код приложения) и скрыть их с помощью css.

<asp:FileUpload ID="FileUpload1" runat="server" runat="server" class="hidden"/> 

И после этого вы можете включить их с помощью javascript после подобных действий, так как вы добавите новые элементы.

Тогда вы можете использовать свойство Files объекта Request, которое возвращает ссылку на класс HttpFileCollection. Класс HttpFileCollection имеет свойство Item, через которое вы получаете индивидуальный HttpPostedFile из коллекции файлов, указав имя или индекс. См. Пример Listing 6.

Смежные вопросы