Назад | Перейти на главную страницу

Условно установленный заголовок Content-Disposition

У меня есть галерея изображений на сервере IIS7. Я хотел бы иметь кнопку для принудительной загрузки видимого в данный момент изображения.

Может быть, что-то вроде установки параметра url: http://website.com/images/img.jpg?download

Глобально определите этот параметр, а затем установите заголовок Content-Disposition как вложение.

У меня вопрос, как мне это сделать? Могу ли я как-нибудь установить его в файле web.config?

Я больше люблю фронтенд.

Да, вы можете, но только если администратор вашего сервера разрешает вам изменять заголовок Content-Disposition. Это может быть разрешено либо на уровне сервера, либо на уровне веб-сайта, но должно быть разрешено администратором, так как это настроено через файл applicationHost.confg.

Вот правило перезаписи файла web.config:

<outboundRules>
  <rule name="Allow images to be downloaded" preCondition="Only match images">
    <match serverVariable="RESPONSE_Content_Disposition" pattern="(.*)" negate="false" />
    <action type="Rewrite" value="attachment" replace="true" />
    <conditions>
      <add input="{QUERY_STRING}" pattern="^download" />
    </conditions>
  </rule>
  <preConditions>
    <preCondition name="Only match images">
      <add input="{RESPONSE_CONTENT_TYPE}" pattern="^image/" />
    </preCondition>
  </preConditions>
</outboundRules>