У меня есть галерея изображений на сервере 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>