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

Windows Azure - хранить неизвестные (mp4) типы MIME в хранилище IAS для Windows Azure

У меня есть azure-развертывание windows (веб-роль), которое по запросу захватывает пару видеофайлов (mov и mp4) из лазурного хранилища в свое собственное локальное хранилище IIS, которое затем я получаю через браузер.

Это может показаться глупым, но у меня есть веские причины для этого.

К сожалению, я не могу получить доступ к файлам mp4. Мов хорош, но mp4 дает мне "404 - Файл или каталог не найден".

Я изучил это, и похоже, что IIS не будет возвращать неизвестные типы файлов, а mp4 должна подпадать под эту категорию. Если бы это был обычный сервер IIS, я мог бы зарегистрировать тип mime mp4, но я не знаю, как это сделать в Windows Azure.

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

Может ли кто-нибудь помочь?

Спасибо!!

Стивен

4b9b3361

Ответ 1

Нельзя добавить пользовательский тип mime в web.config? Я просто столкнулся с этой ссылкой:

http://www.iis.net/ConfigReference/system.webServer/staticContent/mimeMap

Соответствующий web.config xml:

<configuration>
   <system.webServer>
      <staticContent>
         <mimeMap fileExtension=".syx" mimeType="application/octet-stream" />
         <mimeMap fileExtension=".tab" mimeType="text/plain" />
      </staticContent>
   </system.webServer>
</configuration>

Надеюсь, что это поможет.

Ответ 3

Чтобы настроить тип mime, создайте новый файл web.config с этим контентом в папке видео:

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
  <system.webServer>
     <staticContent>
        <mimeMap fileExtension=".mp4" mimeType="video/mp4" />
        <clientCache cacheControlMode="UseMaxAge" cacheControlMaxAge="7.00:00:00" />
     </staticContent>
  </system.webServer>
</configuration>

Это решение работает только для Azure, локальный проект больше не работает. Мое решение заключается в использовании "Add Config Transform" для публикации с пустым файлом web.config для локального проекта:

<?xml version="1.0" encoding="utf-8"?>
<configuration>
</configuration>

И когда вы щелкните правой кнопкой мыши по web.config, выберите "Добавить конфигурационное преобразование":

введите описание изображения здесь

В файле web.Release.config добавьте это в тег конфигурации:

<system.webServer xdt:Transform="Insert">
  <staticContent>
    <mimeMap fileExtension=".mp4" mimeType="video/mp4" />
    <clientCache cacheControlMode="UseMaxAge" cacheControlMaxAge="7.00:00:00" />
  </staticContent>
</system.webServer>

Ответ 4

Вы также можете увидеть подробности использования портала Azure вместо web.config.

ответил здесь