angularjs - как я могу получить заголовок длины содержимого

я делаю HTTP-запрос GET к URL-адресу, который имеет файл xml, и мне нужно получить заголовок ответа «Content-Lenght»? Есть ли способ получить его? я должен проверить размер файла, прежде чем смогу его загрузить.

Вот мой код

$http({
     method : "GET",
     url : "http://url/file.xml"
  }).then(function mySucces(data) {

    console.log(response);
    $scope.content = response.data;

  }, function myError(error) {

    console.log(error);
    $scope.content = error.statusText;
  });

person Franco Manzur    schedule 01.07.2016    source источник


Ответы (1)


Из Angular Docs, https://docs.angularjs.org/api/ng/service/$http

обратный вызов ответа получает

  • data – {string|Object} – тело ответа, преобразованное с помощью функций преобразования.

  • status – {number} – HTTP-код статуса ответа.

  • заголовки – {function([headerName])} – функция получения заголовков.

  • config — {Object} — объект конфигурации, который использовался для создания запроса.

  • statusText – {string} – текст HTTP-статуса ответа.

Вы можете получить заголовки ответа, вызвав функцию headers с именем заголовка, в данном случае headers('Content-Type')

$http({
  method: "GET",
  url: "http://b31fe90a.ngrok.io/xml/XML-Meli.xml"
}).then(function mySucces(response) {

  console.log(response);
  console.log(response.headers('content-type'); // it can be `Content-Type` not sure. but can be any header key.
  $scope.content = response.data;

}, function myError(error) {

  console.log(error);
  $scope.content = error.statusText;
});
person Zohaib Ijaz    schedule 01.07.2016