Obrazki można pobrać i przesłać dalej lub przetworzyć np. wyświetlić ikonkę
https://developer.mozilla.org/en-US/docs/Web/API/FileReader/readAsDataURL
Pobranie obrazka z kontrolki input i wyświetlenie (przed przesłaniem dalej)
<input type="file" onchange="previewFile()" accept="image/*"><br> <img src="" height="200" alt="Image preview..."> // src - pusty
function previewFile() { const img = document.querySelector('img'); const file = document.querySelector('input[type=file]').files[0]; const reader = new FileReader(); reader.addEventListener("load", function () { img.src = reader.result; // zamiast ścieżki "data:,base64" }, false); if (file) reader.readAsDataURL(file); }
Wczytywanie kilku obrazków
function previewFiles() { var preview = document.querySelector('#preview'); // div var files = document.querySelector('input[type=file]').files; function readAndPreview(file) {
// Sprawdzenie typu mime if (!file.type.startsWith('image/')){ continue }
// Lub inny sposób - sprawdzenie rozszerzenia pliku if ( /\.(jpe?g|png|gif)$/i.test(file.name) ) { var reader = new FileReader(); reader.addEventListener("load", function () { var image = new Image(); image.height = 100; image.title = file.name; image.classList.add("thumb"); image.src = this.result; preview.appendChild( image ); }, false); // event reader.readAsDataURL(file); } // if
} // callback readAndPreview if (files) [].forEach.call(files, readAndPreview); }