2010-11-16 34 views
8

Cuando el usuario selecciona un archivo para cargarlo, ¿hay alguna manera de obtener el tamaño exacto de este archivo incluso antes de que comience la carga? Supongo que esto debe hacerse en el lado del cliente con jQuery o JavaScript. Alguna idea de como?Obtener el tamaño del archivo de carga antes de cargar

Respuesta

0

JavaScript no tiene la capacidad de verificar el tamaño de los archivos (o acceder al sistema de archivos para el caso). Tendrá que cargar el archivo para obtener el tamaño

0

Le sugiero que mire la API de archivos HTML5. Esto, combinado con algunos JS podría poder ayudarte. Solo digo que podría ser porque aún no he tenido la oportunidad de navegar en esta parte del estándar HTML5.

http://www.w3.org/TR/FileAPI/#dfn-filereader

La forma de envío de archivos PHP funcionan, es muy difícil de comprobar los detalles de archivo antes de, o durante una carga de archivos (ya que el archivo se carga antes de su código, incluso se carga).

Sé que es posible hacer algunas cosas sofisticadas en otros idiomas (posiblemente Perl o Python) que manejan la carga del archivo directamente con el script (donde el script abre el socket y maneja toda la transferencia), sin embargo PHP hace esto por usted y acepta cualquier archivo en nombre de su secuencia de comandos. El archivo se descarta si no está dentro de los límites aceptables de PHP, pero solo después de que el archivo se haya cargado por completo.

También se han realizado varias implementaciones de carga de archivos utilizando Flash, pero al no ser un codificador de ActionScript, tampoco puedo ayudar demasiado allí.

1
$("#file_input_selector").bind('change', function(){ 
alert(this.files[0].size); 
}); 

No estoy seguro de todos los problemas de compatibilidad, pero esto parece estar funcionando bien para mí.

Cuestiones relacionadas