Pregunta

Esto es lo que estoy esperando para hacer:

Quiero enviar una petición AJAX a un archivo (preferiblemente con jQuery), y una vez que el archivo ha sido cargado, determinar el tamaño del archivo solicitado.

Después de un poco de google, está claro que no tienen ni siquiera una buena idea de la pregunta correcta para resolver esto. Cualquier ayuda sería muy apreciada.

¿Fue útil?

Solución

Se podría hacer una petición HTTP HEAD , y obtener un tamaño aproximado al leer el Content-Length Header HTTP.

Este tipo de solicitud se utiliza para obtener la meta-información acerca de la URL que implica la solicitud, sin transferir cualquier contenido de la misma en la respuesta.

var xhr = $.ajax({
  type: "HEAD",
  url: "path/to/file.ext",
  success: function(msg){
    alert(xhr.getResponseHeader('Content-Length') + ' bytes');
  }
});

Otros consejos

Se puede crear un comando de servidor que toma la ruta y el nombre del archivo, se abre el archivo para obtener la longitud, y envía el tamaño de vuelta al cliente. La forma de hacerlo dependerá de lo lenguaje de servidor que está utilizando. Es que el tipo de acción que buscaba?

var XHRObj = $.ajax({
    type:'HEAD',
    url:'/',
    success:function(data) {
        console.log( XHRObj.getResponseHeader('Content-Length') )
    }
})

Es, básicamente, hace una solicitud HTTP HEAD y consultar el contenido de longitud, que devuelve X bytes.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top