Как разрешить загрузку файла .json с ASP.NET

106

Как я могу включить загрузку файлов *.json со старого сайта ASP.NET(мне кажется, что IIS6 верят)?

Я получаю страницу 404 вместо файла JSON.

Мне нужно создать файл web.config? Что в нем происходит?

  • 1
    Вам, вероятно, нужно добавить тип MIME для него.
  • 1
    Для использования в JavaScript или сохранить на HD?
Показать ещё 2 комментария
Теги:
iis-6

4 ответа

101
Лучший ответ

Добавить тип JSON MIME в IIS 6. Следуйте инструкциям в MSDN Настройка типов MIME (IIS 6.0).

  • Расширение: .json
  • Тип MIME: приложение /json

Не забудьте перезапустить IIS после изменения.

UPDATE: Есть простые способы сделать это на IIS7 и новее. Операция специально запросила помощь IIS6, поэтому я оставляю этот ответ как есть. Но этот ответ по-прежнему получает большой трафик, хотя IIS6 сейчас очень старый. Надеюсь, вы используете что-то более новое, поэтому я хотел бы упомянуть, что если у вас новая версия IIS7 или более новая версия, см. Ниже @ProVega для более простого решения для этих более новых версий.

  • 1
    Ура, но это в пакете общего хостинга без доступа к чему-либо кроме web.config или файла глобального кода
  • 0
    Если у вас нет доступа к настройкам IIS 6.0, и поддержка вашего провайдера не добавит вам тип MIME, вам придется переключать провайдеров или использовать новые серверы с IIS 7.0 на этом провайдере, если они предлагают его, для поддержать это.
Показать ещё 6 комментариев
176

Если вы хотите вручную добавить поддержку своего сайта, вы можете просто добавить следующее в свой web.config в разделе system.webServer:

<staticContent>
    <mimeMap fileExtension=".json" mimeType="application/json" />
</staticContent>

Это добавит "локальную" конфигурацию в IIS. Это не работает в IIS6, но работает в IIS7 и новее.

  • 6
    Обновлен ваш ответ, чтобы включить полный путь к web.config .
  • 0
    Спасатель жизни, спасибо :)
Показать ещё 8 комментариев
13

Решение - вам нужно добавить тип расширения json файла в MIME-типы

Способ 1

Перейдите в IIS, выберите свое приложение и найдите типы MIME

Изображение 4655

Нажмите "Добавить с правой панели"

Расширение имени файла =.json

MIME Type = application/json

Изображение 4656

После добавления типа .json в MIME-типа, Перезапустить IIS и попытайтесь получить доступ к json файлу


Способ 2

Перейдите в web.config этого приложения и добавьте в него строки

 <system.webServer>
   <staticContent>
     <mimeMap fileExtension=".json" mimeType="application/json" />
   </staticContent>
 </system.webServer>
5

Просто у вас была эта проблема, но мне пришлось найти конфигурацию для IIS Express, чтобы добавить типы mime. Для меня он был расположен в C:\Users\<username>\Documents\IISExpress\config\applicationhost.config, и я смог добавить туда правильную "mime map".

  • 0
    Это может быть, почему это не работает для меня через IIS Express. К сожалению, это не то, что я хотел бы настроить на каждой машине разработчика, поэтому я рекомендую придерживаться расширения .js для файлов конфигурации json.
  • 0
    Вы также можете сделать это в Web.Config - посмотрите на этот ответ stackoverflow.com/a/19517275/643761
Показать ещё 3 комментария

Ещё вопросы

Сообщество Overcoder
Наверх
Меню