Como posso obter o tamanho do arquivo, altura e largura da imagem antes de fazer o upload para o meu site, com jQuery ou JavaScript?
javascript
jquery
html
dimensions
image-size
Afshin
fonte
fonte
Respostas:
Upload de várias imagens com visualização de dados de informações
Usando HTML5 e a API File
Exemplo usando URL API
As fontes de imagens serão um URL que representa o objeto Blob
<img src="blob:null/026cceb9-edr4-4281-babb-b56cbf759a3d">
Exemplo de uso da API FileReader
No caso de você precisar de fontes de imagens como strings de dados codificados em Base64
<img src="data:image/png;base64,iVBORw0KGg... ...lF/++TkSuQmCC=">
fonte
Se você pode usar o plugin de validação jQuery, você pode fazer assim:
Html:
JavaScript:
A função é passada como função ab onload.
O código é retirado daqui
fonte
Demo
Não tenho certeza se é o que você deseja, mas apenas um exemplo simples:
fonte
Aqui está um exemplo puro de JavaScript de escolher um arquivo de imagem, exibi-lo, percorrer as propriedades da imagem e, em seguida, redimensionar a imagem da tela em uma tag IMG e definir explicitamente o tipo de imagem redimensionada para jpeg.
Se você clicar com o botão direito na imagem superior, na tag da tela, e escolher Salvar arquivo como, o formato padrão será PNG. Se você clicar com o botão direito e Salvar arquivo como a imagem inferior, o formato padrão será JPEG. Qualquer arquivo com mais de 400px de largura é reduzido para 400px de largura e uma altura proporcional ao arquivo original.
HTML
ROTEIRO
Aqui está um jsFiddle:
jsFiddle Escolha, exiba, obtenha propriedades e redimensione um arquivo de imagem
No jsFiddle, clicar com o botão direito na imagem superior, que é uma tela, não fornecerá as mesmas opções de salvar que clicar com o botão direito na imagem inferior em uma tag IMG.
fonte
Pelo que eu sei, não há uma maneira fácil de fazer isso, pois Javascript / JQuery não tem acesso ao sistema de arquivos local. Existem alguns novos recursos no html 5 que permitem que você verifique certos metadados, como o tamanho do arquivo, mas não tenho certeza se você pode realmente obter as dimensões da imagem.
Aqui está um artigo que encontrei sobre os recursos do html 5 e uma solução alternativa para o IE que envolve o uso de um controle ActiveX. http://jquerybyexample.blogspot.com/2012/03/how-to-check-file-size-before-uploading.html
fonte
Então, comecei a experimentar as diferentes coisas que a API FileReader tinha a oferecer e poderia criar uma tag IMG com um URL DATA.
Desvantagem: não funciona em telefones celulares, mas funciona bem no Google Chrome.
(veja isso em um jsfiddle em http://jsfiddle.net/eD2Ez/530/ )
(veja o jsfiddle original que eu adicionei em http://jsfiddle.net/eD2Ez/ )
fonte
Um exemplo funcional de validação do jQuery:
fonte