Ver Mensaje Individual
  #3 (permalink)  
Antiguo 19/03/2013, 11:51
Avatar de emprear
emprear
Colaborador
 
Fecha de Ingreso: junio-2007
Ubicación: me mudé
Mensajes: 8.388
Antigüedad: 17 años, 4 meses
Puntos: 1567
Respuesta: Validar tamaño archivo antes de enviar formulario

Con la Api File de HTML5

Ejemplos
Código HTML:
Ver original
  1. <!DOCTYPE html>
  2. <html lang="es-ar">
  3. <meta charset="utf-8" />
  4. <title>Tamaño archivo</title>
  5. </head>
  6. <form action="#">
  7. <input type="file" id="archivos" name="archivos[]" multiple />
  8. <output id="lista"></output>
  9. </form>
  10.   function archivoSeleccionado(evt) {
  11.   if(window.File && window.FileReader && window.FileList && window.Blob){
  12.    var archivos = evt.target.files;
  13.     var salida = [];
  14.     for (var i = 0, f; f = archivos[i]; i++) {
  15.       salida.push('<li>',f.size, ' bytes','</li>');
  16.     }
  17.     document.getElementById('lista').innerHTML = '<ul>' + salida.join('') + '</ul>';
  18.  
  19. }else{
  20. // solo IE, no funciona con archivos multiples
  21.     var Fs = new ActiveXObject("Scripting.FileSystemObject");
  22.     var ruta = document.getElementById('archivos').value;
  23.     var archivo = Fs.getFile(ruta);
  24.     var size = archivo.size;
  25. document.getElementById('lista').innerHTML = '<br \/>' +size + " bytes";
  26. }
  27.  
  28. }
  29. document.getElementById('archivos').addEventListener('change', archivoSeleccionado, false);
  30. </body>
  31. </html>

Con jQuery
Código HTML:
Ver original
  1. <!DOCTYPE html>
  2. <html lang="es-ar">
  3. <meta charset="utf-8" />
  4. <title>Tamaño archivo</title>
  5.     <script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script>
  6.     <script type="text/javascript">
  7. //<![CDATA[
  8.    
  9. $(document).ready(function(){
  10. $('#subir').bind('change', function() {
  11.    
  12. if(window.File && window.FileReader && window.FileList && window.Blob){
  13. alert(this.files[0].size + ' bytes');
  14. }else{
  15. // IE
  16.    var Fs = new ActiveXObject("Scripting.FileSystemObject");
  17.    var ruta = document.upload.file.value;
  18.    var archivo = Fs.getFile(ruta);
  19.    var size = archivo.size;
  20.    alert(size + " bytes");
  21. }
  22.  
  23. });
  24. });
  25.  
  26. //]]>
  27. </head>
  28. <form name="upload">
  29. <input type="file" name="file" id="subir">
  30. </form>
  31. </body>
  32. </html>

Saludos
__________________
La voz de las antenas va, sustituyendo a Dios.
Cuando finalice la mutación, nueva edad media habrá
S.R.