Я пытаюсь сделать элемент управления, где вы можете выбрать файл для отправки в форме и поместить в него файл, чтобы сделать то же самое. У меня есть что-то вроде этого, где он также покажет предварительный просмотр файла, если это изображение:
<div class="preview-image-container" style="cursor: default;">
<input type="file" name="File" id="File" class="form-control" accept="image/*" style="display:none;">
<div class="preview-image-dummy"></div><img class="preview-image-url">
<div class="preview-image-instruction" style="background-color: inherit; cursor: default;"><i class="fa fa-4x fa-cloud-upload" aria-hidden="true"></i>
<div class="preview-image-btn-browse btn btn-primary">Select file</div>
<p>or drop it here.</p>
</div>
</div>
Пользователь выгружает файл в контейнер предварительного просмотра. Файл не отправляется с AJAX, пользователю необходимо отправить форму, содержащую больше данных.
Из соображений безопасности нам не разрешено изменять значение входного файла с помощью JavaScript. Тем не менее, я знаю, что поддержка входных файлов по умолчанию недоступна, и есть куча веб-сайтов, которые позволяют нам выбирать файлы, отбрасывая их в форме, поэтому я предполагаю, что есть способ сделать это.
Аналогичный вопрос, но не имеет правильного ответа:
Как установить файл файл во входной файл в форме в формате HTML?
Также не похож на перетащить исходный файл изображений и предварительный просмотр перед загрузкой, потому что я уже достиг перетаскивания и предварительного просмотра. Мой вопрос специфичен для проблемы с пустым вводом файла при отбрасывании файла в родительском контейнере.
Здесь скрипка с MCVE. Как вы можете видеть, меня интересует только использование jQuery или чистого JavaScript без дополнительных библиотек.
Хотя dropzone.js можно использовать, оно не соответствует моим требованиям, и для его просмотра потребуется много времени. Кроме того, у dropzone.js есть определенные требования к конфигурации, которые не могут быть выполнены в моем приложении ASP.NET.