Получить MIME тип файла URL - PullRequest
0 голосов
/ 29 апреля 2018

Учитывая URL-адрес, такой как http://www.....jpg, как я могу получить MIME-тип в Angular? например изображение, аудио или видео?

Я понимаю, что тип MIME можно найти при загрузке файлов, как было объяснено здесь .

1 Ответ

0 голосов
/ 06 мая 2018

Чтобы ответить на этот вопрос, мне нужно сделать несколько предположений:

Предположения:

  1. http://www.....jpg может быть расположен на любом сервере , а не только на вашем
  2. У вас есть доступ к серверу для реализации части серверной части решения.

Проблема 1: Запросы перекрестного происхождения

Представьте себе этот сценарий:

Ваше угловое приложение размещено на www.myserver.com. Кто-то посещает ваш сайт, загружает и запускает ваш угловой код в своем браузере. Теперь вы хотите, чтобы их браузер исследовал тип пантомимы www.someimage.com/1.jpg. Загрузка этого файла будет запросом Cross-Origin, который по умолчанию не разрешен . Если у вас есть доступ к обоим серверам, вы можете разрешить этот тип запроса, внедрив Cross-Origin Resource Sharing для определенных URI , но это вам не поможет.

Проблема 2: согласование содержимого HTTP

HTTP реализует согласование содержимого для URI. Эта статья в Википедии хорошо объясняет это . Это важно здесь, потому что:

Ресурс может быть доступен в нескольких разных представлениях ; например, он может быть доступен на разных языках или на разных типах носителей.

Возможное решение:

Хотя вы не сможете проверять MIME-типы для произвольного URI с помощью клиентского (углового) кода, вы все равно можете решить эту проблему, внедрив небольшую службу http на своем сервере. Поток будет примерно таким:

  1. Ваше угловое приложение передает URI в почтовом запросе на ваш сервер
  2. Ваш сервер проверяет URI и устанавливает HTTP-соединение с сервером, на котором размещен ресурс. Как это сделать, зависит от того, какой тип веб-сервера вы используете.
  3. После определения типа MIME ваш сервер отвечает на первоначальный запрос с типами MIME. Примечание: множественное число. Поскольку URI может быть доступен во многих различных форматах.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...