Получите размер файла, запрошенный через ajax
Вот что я надеюсь сделать:
Я хочу отправить запрос ajax в файл (желательно с jQuery), и как только файл будет загружен, определите размер запрошенного файла.
После небольшого количества поисковых запросов, ясно, что я даже не имею четкого представления о правильном вопросе, чтобы попросить понять это. Любая помощь будет принята с благодарностью.
Ответы
Ответ 1
Вы можете сделать запрос HTTP HEAD и получить приблизительный размер файла, прочитав Content-Length Заголовок HTTP.
Этот вид запроса используется для получения метаинформации о URL-адресе, подразумеваемом запросом, без передачи какого-либо его содержимого в ответ.
var xhr = $.ajax({
type: "HEAD",
url: "path/to/file.ext",
success: function(msg){
alert(xhr.getResponseHeader('Content-Length') + ' bytes');
}
});
Ответ 2
Вы можете создать серверную команду, которая берет путь и имя файла, открывает файл, чтобы получить длину, и отправляет размер обратно клиенту. Как вы это сделаете, это зависит от того, какой серверный язык вы используете. Это тип действия, которое вы ищете?
Ответ 3
var XHRObj = $.ajax({
type:'HEAD',
url:'/',
success:function(data) {
console.log( XHRObj.getResponseHeader('Content-Length') )
}
})
В основном вы выполняете HTTP-запрос HEAD и запрашиваете Content-Length, который возвращает X байтов.