W moim formularzu HTML wpisałem plik typu, na przykład:
<input type="file" multiple>
Następnie wybieram wiele plików, klikając ten przycisk wejściowy. Teraz chcę wyświetlić podgląd wybranych zdjęć przed wysłaniem formularza. Jak to zrobić w HTML 5?
html
image-processing
upload
Hardik Sondagar
źródło
źródło
Odpowiedzi:
HTML5 zawiera specyfikację File API , która umożliwia tworzenie aplikacji, które pozwalają użytkownikowi na lokalną interakcję z plikami; Oznacza to, że możesz ładować pliki i renderować je w przeglądarce bez konieczności ich przesyłania. Częścią File API jest interfejs FileReader , który umożliwia aplikacjom internetowym asynchroniczne odczytywanie zawartości plików.
Oto krótki przykład, który wykorzystuje
FileReader
klasę do odczytywania obrazu jako DataURL i renderuje miniaturę, ustawiającsrc
atrybut znacznika obrazu na adres URL danych:Kod html:
Kod JavaScript:
Oto dobry artykuł na temat korzystania z interfejsów API plików w języku JavaScript .
Fragment kodu w poniższym przykładzie HTML odfiltrowuje obrazy z zaznaczenia użytkownika i renderuje wybrane pliki do wielu podglądów miniatur:
Pokaż fragment kodu
źródło
document.getElementById("uploadImage").disabled = true
Tutaj zrobiłem z jQuery przy użyciu FileReader API.
Znaczniki HTML:
jQuery:
Tutaj w kodzie jQuery najpierw sprawdzam rozszerzenie pliku. tj. prawidłowy plik obrazu do przetworzenia, następnie sprawdzi, czy obsługa przeglądarki FileReader API jest ustawiona na tak, a następnie przetworzy tylko w przeciwnym razie wyświetla odpowiedni komunikat
Szczegółowy artykuł: Jak wyświetlić podgląd obrazu przed przesłaniem, jQuery, HTML5 FileReader () z Live Demo
źródło
var
wfor loop
? za każdym razem, gdyfor loop
iteracja, nowa zmiennareader
zostanie usunięta ..accept="image/*"
atrybutu do <input> może pomóc w zapobieganiu wybieraniu typów plików innych niż obraz.Pokaż fragment kodu
źródło
W przypadku obrazów tła upewnij się, że używasz
url()
źródło