Em meu formulário HTML, coloquei um arquivo de tipo, por exemplo:
<input type="file" multiple>
Então, estou selecionando vários arquivos clicando no botão de entrada. Agora eu quero mostrar a visualização das imagens selecionadas antes de enviar o formulário. Como fazer isso no HTML 5?
html
image-processing
upload
Hardik Sondagar
fonte
fonte
Respostas:
HTML5 vem com especificação de API de arquivo , que permite criar aplicativos que permitem ao usuário interagir com arquivos localmente; Isso significa que você pode carregar arquivos e renderizá-los no navegador sem realmente ter que fazer upload dos arquivos. Parte da API File é a interface FileReader , que permite que os aplicativos da web leiam de forma assíncrona o conteúdo dos arquivos.
Aqui está um exemplo rápido que usa a
FileReader
classe para ler uma imagem como DataURL e renderiza uma miniatura definindo osrc
atributo de uma tag de imagem para um URL de dados:O código html:
O código JavaScript:
Aqui está um bom artigo sobre como usar as APIs de arquivo em JavaScript .
O snippet de código no exemplo de HTML abaixo filtra as imagens da seleção do usuário e renderiza os arquivos selecionados em várias visualizações em miniatura:
Exibir trecho de código
fonte
document.getElementById("uploadImage").disabled = true
Aqui eu fiz com jQuery usando a API FileReader.
Marcação de HTML:
jQuery:
Aqui no código jQuery, primeiro eu verifico a extensão do arquivo. ou seja, arquivo de imagem válido a ser processado, então irá verificar se o suporte do navegador API FileReader é sim, então apenas processado, caso contrário, exibirá a mensagem respeitada
Artigo detalhado: Como visualizar a imagem antes de carregá-la, jQuery, HTML5 FileReader () com demonstração ao vivo
fonte
var
emfor loop
? sempre quefor loop
iterar, uma nova variávelreader
será apagada.accept="image/*"
atributo ao <input> pode ajudar a prevenir a seleção de tipos de arquivo que não sejam de imagem.Exibir trecho de código
fonte
Para imagens de fundo, certifique-se de usar
url()
fonte