Как разрешить загрузку файла.json с ASP.NET
Как я могу разрешить загрузку файлов *.json со старого сайта ASP.NET (в IIS6, на который мне поверили)?
Я получаю страницу 404 вместо файла JSON.
Нужно ли создавать файл web.config? Что идет в этом?
6 ответов
Добавьте тип JSON MIME в IIS 6. Следуйте инструкциям в MSDN Настройка типов MIME (IIS 6.0).
- Расширение: .json
- Тип MIME: приложение / JSON
Не забудьте перезапустить IIS после изменения.
ОБНОВЛЕНИЕ: Есть простые способы сделать это на IIS7 и новее. Оператор специально попросил помощи IIS6, поэтому я оставляю этот ответ как есть. Но этот ответ по-прежнему получает большой трафик, хотя IIS6 сейчас очень старый. Надеюсь, вы используете что-то более новое, поэтому я хотел бы упомянуть, что если у вас более новая IIS7 или более новая версия, см. Ответ @ProVega ниже для более простого решения для этих новых версий.
If you want to manually add support to your site, you can just add the following to your web.config in the system.webServer section:
<staticContent>
<mimeMap fileExtension=".json" mimeType="application/json" />
</staticContent>
Это добавит "локальную" конфигурацию под IIS. Это не работает в IIS6, но работает в IIS7 и новее.
Решение - вам нужно добавить тип расширения json в MIME Types.
Способ 1
Зайдите в IIS, выберите приложение и найдите типы MIME
Нажмите на Добавить из правой панели
Расширение имени файла =.json
MIME Тип = приложение / JSON
После добавления типа файла .json в MIME Types перезапустите IIS и попробуйте получить доступ к файлу json
Способ 2
Перейдите в web.config этого приложения и добавьте в него следующие строки
<system.webServer>
<staticContent>
<mimeMap fileExtension=".json" mimeType="application/json" />
</staticContent>
</system.webServer>
При добавлении поддержки mimetype (как предлагает @ProVega) рекомендуется также удалить тип перед добавлением - это предотвращает непредвиденные ошибки при развертывании на серверах, где поддержка типа уже существует, например:
<staticContent>
<remove fileExtension=".json" />
<mimeMap fileExtension=".json" mimeType="application/json" />
</staticContent>
Просто имел эту проблему, но должен был найти конфигурацию для IIS Express, чтобы я мог добавить типы MIME. Для меня это было расположено в C:\Users\<username>\Documents\IISExpress\config\applicationhost.config
и я смог добавить туда правильную "карту пантомимы".
- Перейдите в C:\Users\ имя пользователя \Documents\IISExpress\config
- Откройте applicationhost.config с помощью Visual Studio или вашего любимого текстового редактора.
- Ищите слово mimeMap, вы должны найти много их.
- Добавьте следующую строку в начало списка: .