ASP.NET Запрос - Могу ли я получить опубликованный файл из динамического элемента управления, созданного на клиенте?
-
03-07-2019 - |
Вопрос
У меня есть веб-элемент управления с некоторым пользовательским 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"