@jammywork1

Как сконфигурировать iis, staticContent, mimeMap для разных путей контента?

Здравствуйте. Занимаюсь разработкой не большого веб проекта, в не котором роде файловый хостинг. По запросу через веб форму пользователь получает ссылку на файл и качает его. Файлы самых разных типов, и хотелось бы что бы такие типа как jpg, pdf и тд. не открывались во вкладке пользователя для просмотра, а предлагалось их сохранить/открыть. Для это было найдено решение: в applicationhost.config раздела поставить и любой файл браузер воспринимал как не знакомый тип.
Но в этом случае возникает проблема со статическим контентом, картинками, css, javascript.
Вопрос: можно ли в конфиге указать mimeMap для определённого пути, на пример для статического контента действительный mimeType, а для файлов на выдачу пользователю mimeType="application/xz"
  • Вопрос задан
  • 2329 просмотров
Решения вопроса 1
AlekseyNemiro
@AlekseyNemiro
full-stack developer
Первое:
Лучше изначально строить структуру проекта так, чтобы файловое хранилище было независимым и при высоких нагрузках не валило основной сайт, и чтобы в будущем было проще масштабировать проект.

Проще говоря, как минимум следует использовать разные домены/сайты для хранилищ файлов.

Например, основной сайт:
example.org
А хранилище файлов:
storage1.example.org

Даже размещая основной сайт и хранилище(а) на одном сервере, можно будет распределить нагрузку между проектами.

Тогда и проблема с mime отпадет сама собой.

Второе: Если файлы выдаются серверным кодом, то достаточно добавить заголовок Content-Disposition, чтобы браузер предложил пользователю скачать файл:
Response.AddHeader("Content-Disposition", "attachment; filename=123.gif");
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы