После всего, что я прочитал по этой теме, я знаю, что нет способа автоматически загружать файлы из браузера без каких-либо «повышенных разрешений».
Но повышенные разрешения - это то, чтоУ меня есть, потому что приложение работает в интрасети, и пользователь в настоящее время разрешает доступ к элементу управления ActiveX, что позволяет сканировать некоторые документы с помощью COM.Затем необходимо загрузить отсканированный документ, сохраненный в файловой системе.
Теперь единственным требованием браузера является совместимость с IE7 +.Но в IE8 единственный способ установить значение <input type="file" ... />
- это вручную нажать кнопку «Обзор».
Действительно ли невозможно установить значение в поле формы ввода, даже если сайт добавлен в доверенные сайтыа полный доступ к коду ActiveX включен?
То же самое относится и к Flash и Silverlight, политика безопасности делает невозможной загрузку файла без его выбора пользователем вручную.Silverlight, вероятно, мог бы делать это в режиме OOB, но это слишком прерывисто, если пользователь должен каждый раз нажимать, чтобы включать его из режима браузера.
ActiveX и Java-апплет, вероятно, могли бы это делать.Если использование <input type="file" ... />
не вариант, существует ли какой-либо облегченный (возможно, бесплатный / с открытым исходным кодом) элемент управления ActiveX, который будет обрабатывать загрузку из файловой системы?
update
Я изучил все варианты довольно глубоко там, и оказалось, что это парадигма модели безопасности, которая делает невозможной автоматическую загрузку файлов из браузера без взаимодействия с пользователем.Это означает, что использование должно либо взаимодействовать вручную, чтобы загрузить файл, либо подтвердить какой-либо элемент управления ActiveX или подобный плагин для выполнения этой работы.Если вам удастся найти способ загрузки без какого-либо специального плагина с повышенными правами доступа, вы, вероятно, обнаружили дыру в безопасности, которая скоро будет исправлена.Тем не менее, именно так работают технологии веб-браузера.
Как отметил Джесси, существуют проблемы с доверием и лицензией для сторонних элементов управления ActiveX.