Estoy tratando de montar la ola HTML5 pero me enfrento a un pequeño problema. Antes de HTML5, verificábamos el tamaño del archivo con flash, pero ahora la tendencia es evitar el uso de flash en aplicaciones web. ¿Hay alguna forma de verificar el tamaño del archivo en el lado del cliente usando HTML5?
javascript
html
file-upload
Khaled Musaied
fuente
fuente
La respuesta aceptada es realmente correcta, pero debe vincularla a un detector de eventos para que se actualice cada vez que se cambie la entrada del archivo.
document.getElementById('fileInput').onchange = function(){ var filesize = document.getElementById('fileInput').files[0].size; console.log(filesize); }
Si está utilizando la biblioteca jQuery, el siguiente código puede 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 la conversión de fileSize para mostrar en cualquier métrica depende de usted.
fuente
.files
: jsfiddle.net/edxvo4wa (descubrí esto yo mismo cuando se me ocurrió una solución; funciona si la cambia adocument.getElementById
).Soporta HTML5 fie api para verificar el tamaño del archivo.
lea este artículo para obtener más información sobre la API de archivos
http://www.html5rocks.com/en/tutorials/file/dndfiles/
<input type="file" id="fileInput" /> var size = document.getElementById("fileInput").files[0].size;
de manera similar, la API de archivo da nombre y tipo.
fuente
Personalmente, optaría 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 } }
fuente
"No hay una solución simple para varios navegadores para lograr esto": ¿ Detecta el tamaño de carga del archivo en el lado del cliente?
fuente