gpt4 book ai didi

iis - 在 IIS7 中强制下载文件

转载 作者:行者123 更新时间:2023-12-05 03:15:18 26 4
gpt4 key购买 nike

使用 IIS7,有没有办法强制客户端浏览器下载文件而不是尝试在浏览器中显示它?就我而言,我想强制浏览器下载所有 MP4 视频文件。

最佳答案

我从this找到了答案博客。

使用 IIS7 Url Rewrite 模块,您可以更改 Content-Disposition header ,建议客户端浏览器下载而不是尝试显示文件。

使用IIS管理器(以mp4为例)

  1. 确保您已为 IIS7 启用 URL 重写模块
  2. 打开 IIS7 管理器
  3. 导航到您要强制下载的站点(或子站点)
  4. 在功能 View 中选择 Url Rewrite
  5. 在右侧栏中选择“查看先决条件”
  6. 添加以下前提条件
    1. 名称:FileIsMP4
    2. 使用:正则表达式
    3. 逻辑分组:全部匹配
    4. 条件输入:{REQUEST_FILENAME}
    5. 检查输入字符串是否匹配模式
    6. 模式:\.mp4$
  7. 返回到 URL Rewrite 规则列表并添加以下出站规则
    1. 名称:强制下载 MP4
    2. 前提条件:FileIsMP4
    3. 匹配 - 匹配范围:服务器变量
    4. 匹配 - 变量名称:RESPONSE_Content-Disposition
    5. 匹配 - 变量值:匹配模式
    6. 匹配 - 使用:正则表达式
    7. 匹配 - 模式:.*
    8. 匹配 - 忽略大小写 - 是
    9. 条件 - 逻辑分组:全部匹配
    10. 条件 - 输入:{REQUEST_FILENAME}
    11. 条件 - 类型:匹配模式
    12. 条件 - 模式:(.*)\\([^/]+)\.mp4$
    13. 条件 - 跨条件跟踪捕获组:是
    14. Action - Action 类型:重写
    15. Action - Action 属性 - 值:附件;文件名={C:2}.mp4
    16. 操作 - 替换现有服务器变量值:是
    17. 操作 - 停止处理后续规则:否

修改Web.Config

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<system.webServer>
...
<rewrite>
<outboundRules>
<rule name="Forcing Download for MP4s" preCondition="FileIsMP4">
<match serverVariable="RESPONSE_Content-Disposition" pattern=".*" />
<conditions>
<add input="{REQUEST_FILENAME}" pattern="(.*)\\([^/]+)\.mp4$" />
</conditions>
<action type="Rewrite" value="attachment; filename={C:2}.mp4" />
</rule>
<preConditions>
<preCondition name="FileIsMP4">
<add input="{REQUEST_FILENAME}" pattern="\.mp4$" />
</preCondition>
</preConditions>
</outboundRules>
</rewrite>
...
</system.webServer>
</configuration>

关于iis - 在 IIS7 中强制下载文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19404770/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com