有条件地设置 Content-Disposition 标头

有条件地设置 Content-Disposition 标头

我在 IIS7 服务器上有一个图库。我想有一个按钮来强制下载当前可见的图像。

也许像设置 url 参数那样: http://website.com/images/img.jpg?download

全局检测此参数,然后将 Content-Disposition 标头设置为附件。

我的问题是,我该怎么做?我可以以某种方式在 web.config 文件中设置它吗?

我更像是一个前端人员。

答案1

是的,您可以,但前提是您的服务器管理员允许您更改 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>

相关内容