2012-03-09 22 views
5

Necesito calcular el porcentaje de un archivo cargado en el servidor. Lo leí como¿Cómo calcular el porcentaje de un archivo cargado?

Porcentajes cargados = 100/tamaño del archivo * bytes cargados.

¿Alguien sabe cómo podemos conseguir lo siguiente de las propiedades de un control de carga de archivos: tamaño

  1. del archivo subido
  2. Bytes subidos

por favor ayuda. Gracias

Respuesta

4

"¿Alguien sabe cómo podemos conseguir lo siguiente de las propiedades de un control de carga de archivos"

Si, como usted ha dicho en los comentarios, que está utilizando el estándar. Los controles de carga de archivos NET, entonces solo se obtiene el evento de publicación del lado del servidor cuando el archivo se ha cargado por completo.

Esto es: Ninguno de los eventos del servidor se disparará hasta que el archivo haya sido cargado por completo por el navegador.

Para obtener cargas progresivas, debe utilizar un componente como los vinculados en otras respuestas o, alternativamente, escribir su propio Módulo HTTP.

Ejemplo de proyecto (no verificados si se trabaja) http://www.codeproject.com/Articles/14832/ASP-NET-file-post-direct-to-disk-with-upload-file

Nota al pie: curso% se calcula de este modo: bytes subidas/bytes en total

1

La especificación HTML hasta la versión 4, no le permite cargar archivos sin publicación de página, necesita confiar en el código del servidor para obtener la cantidad de datos cargados, sin embargo la especificación HTML5 viene con nuevas características para XMLHttpRequest como XMLHttpRequest2. Hay una propiedad de carga para XMLHttpRequest en la que puede tener acceso a algunos eventos del lado del cliente para cargar datos, como onprogress, onload, etc. se puede leer aquí: http://www.html5rocks.com/en/tutorials/file/xhr2/

Aquí hay una tabla de la compatibilidad para el apoyo de XMLHttpRequest 2 en todos los principales navegadores: http://caniuse.com/xhr2

Cuestiones relacionadas