Подтвердить что ты не робот

Получите размер файла, запрошенный через ajax

Вот что я надеюсь сделать:

Я хочу отправить запрос ajax в файл (желательно с jQuery), и как только файл будет загружен, определите размер запрошенного файла.

После небольшого количества поисковых запросов, ясно, что я даже не имею четкого представления о правильном вопросе, чтобы попросить понять это. Любая помощь будет принята с благодарностью.

4b9b3361

Ответ 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 байтов.