В моей HTML-форме я ввел файл типа, например:
<input type="file" multiple>
Затем я выбираю несколько файлов, нажимая эту кнопку ввода. Теперь я хочу показать предварительный просмотр выбранных изображений перед отправкой формы. Как это сделать в HTML 5?
html
image-processing
upload
Хардик Сондагар
источник
источник
Ответы:
HTML5 поставляется со спецификацией File API , которая позволяет создавать приложения, позволяющие пользователю взаимодействовать с файлами локально; Это означает, что вы можете загружать файлы и отображать их в браузере, не загружая файлы. Частью File API является интерфейс FileReader, который позволяет веб-приложениям асинхронно читать содержимое файлов.
Вот краткий пример, который использует
FileReader
класс для чтения изображения как DataURL и визуализирует миниатюру, установив параметрsrc
атрибут тега изображения на URL-адрес данных:HTML-код:
Код JavaScript:
Вот хорошая статья об использовании файловых API в JavaScript .
Фрагмент кода в примере HTML ниже отфильтровывает изображения из выбранных пользователем и отображает выбранные файлы в несколько эскизов:
Показать фрагмент кода
источник
document.getElementById("uploadImage").disabled = true
Здесь я сделал с jQuery, используя FileReader API.
Разметка HTML:
JQuery:
Здесь, в коде jQuery, сначала я проверяю расширение файла. т.е. допустимый файл изображения для обработки, затем проверит, поддерживает ли браузер FileReader API, а затем обрабатывается только в противном случае отобразить уважаемое сообщение
Подробная статья: как просмотреть изображение перед загрузкой, jQuery, HTML5 FileReader () с Live Demo
источник
var
вfor loop
? каждый разfor loop
итерация новая переменнаяreader
будет отключена ..accept="image/*"
атрибута к <input> может помочь предотвратить выбор типов файлов, не являющихся изображениями.Показать фрагмент кода
источник
Для фоновых изображений обязательно используйте
url()
источник