Estou tentando pegar a onda do HTML5, mas estou enfrentando um pequeno problema. Antes do HTML5, checávamos o tamanho do arquivo com flash, mas agora a tendência é evitar o uso de flash em aplicativos da web. Existe alguma maneira de verificar o tamanho do arquivo no lado do cliente usando HTML5?
javascript
html
file-upload
Khaled Musaied
fonte
fonte
A resposta aceita está realmente correta, mas você precisa vinculá-la a um ouvinte de evento para que seja atualizada sempre que a entrada do arquivo for alterada.
document.getElementById('fileInput').onchange = function(){ var filesize = document.getElementById('fileInput').files[0].size; console.log(filesize); }
Se você estiver usando a biblioteca jQuery, o código a seguir pode ser útil
$('#fileInput').on('change',function(){ if($(this).get(0).files.length > 0){ // only if a file is selected var fileSize = $(this).get(0).files[0].size; console.log(fileSize); } });
Dado que a conversão do fileSize para exibir em qualquer métrica é com você.
fonte
.files
: jsfiddle.net/edxvo4wa (descobri isso sozinho quando estava criando uma solução - funciona se você mudar paradocument.getElementById
).HTML5 fie api suporta para verificar o tamanho do arquivo.
leia este artigo para obter mais informações sobre API de arquivo
http://www.html5rocks.com/en/tutorials/file/dndfiles/
<input type="file" id="fileInput" /> var size = document.getElementById("fileInput").files[0].size;
da mesma forma, a API do arquivo fornece o nome e o tipo.
fonte
Pessoalmente, eu optaria por este formato:
$('#inputFile').bind('change', function(e) { var data = e.originalEvent.target.files[0]; // and then ... console.log(data.size + "is my file's size"); // or something more useful ... if(data.size < 500000) { // what your < 500kb file will do } }
fonte
"nenhuma solução simples em vários navegadores para conseguir isso": detectando o tamanho de upload de arquivo no lado do cliente?
fonte