Программно установить имя файла для загрузки на веб-страницу

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

У меня есть веб-приложение, которое должно разрешить администратору загружать HTML. Администратор выбирает файл HTML, затем приложение загружает этот файл, а также вычисляет все вспомогательные файлы (изображения, таблицы стилей и т. д.) и также загружает их. Кажется, нет способа программно загрузить вспомогательные файлы с веб-страницы, поскольку пользователь должен явно указывать каждый файл.

В настоящее время у меня есть отдельное приложение Windows для этого, но было бы идеально, если бы эта функция была интегрирована с остальной частью приложения. Моя серверная часть — это ASP.NET с C#.


person Community    schedule 15.06.2009    source источник


Ответы (4)


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

person Avitus    schedule 15.06.2009

Да, вы можете (в современных браузерах)...

Вы можете получить и установить значение HTMLInputElement.files. См. этот ответ.

person mrtnmgs    schedule 13.11.2019

Нет, вы не можете сделать это без клиентского приложения или специального плагина.

Безопасность браузера не позволяет серверу получать информацию о содержимом жесткого диска клиента.

person sangretu    schedule 15.06.2009

Вы можете сделать это, используя какой-либо плагин для браузера. Это дополнительная работа для вас (и существуют потенциальные последствия для безопасности, помимо тех, которые обнаруживаются, когда пользователи просто запускают ваше приложение). Однако это может помешать более интегрированному взаимодействию с вашими пользователями. Однако я бы не стал полностью исключать приложение. Проблемы с совместимостью браузера распространены.

person Brian    schedule 15.06.2009