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

StackOverflow https://stackoverflow.com/questions/803255

Вопрос

У меня есть веб-элемент управления с некоторым пользовательским javascript.Javascript создает новые элементы управления загрузкой файлов на клиенте динамически, используя код, аналогичный:

var newFileUpload = document.createElement('input');
newFileUpload.type = 'file';
container.appendChild(newFileUpload); // where container is a div

Это существует в форме ASP.NET , для encType которой задано значение multipart/form-data.У меня будет 1 - n элементов управления на странице (ну, ограничено разумным количеством, конечно).

Теперь я хотел бы сохранить загруженные файлы в моем ASP.NET приложении.Из-за описанного выше подхода я знаю, что я не могу захватить их, как если бы я использовал элемент управления FileUpload (который, к сожалению, я не могу использовать).Есть ли другой способ захватить загруженные файлы?

Я просмотрел ряд областей, в том числе:

  • Просьба.Файлы
  • Запрос.Форма
  • Запрос.Форма.Ключи
  • Запрос.Входной поток

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

Есть ли у кого-нибудь какие-либо предложения по областям, которые я мог бы дополнительно изучить?

Спасибо

Это было полезно?

Решение

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

var newFileUpload = document.createElement('input');
newFileUpload.type = 'file';
//newFileUpload.id = 'file01';
newFileUpload.name = 'file01';
container.appendChild(newFileUpload);

Редактировать : Я попробовал использовать атрибуты id и name, с помощью name вы можете получить содержимое с помощью

Request.Form["file01"]

Также, если вам следует добавить приведенный ниже атрибут к вашему элементу формы.Это позволяет вам получать содержимое файла по запросу.Файлы["file01"] :

enctype="multipart/form-data"
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top