在 Edge 和 IE 中强制下载 PY 文件

在 Edge 和 IE 中强制下载 PY 文件

在 Google Chrome 中单击 PY 文件的链接即可根据需要下载该文件,但在 Microsoft Edge 和 Internet Explorer 中执行此操作只是查看它。

这是 Web 浏览器的问题还是 Web 服务器的问题?如果是后者,如何配置 IIS 10 以始终强制下载 PY 文件?

我尝试了以下方法,但没有任何效果:

  1. 按照https://www.jamf.com/jamf-nation/articles/309/using-iis-to-enable-http-downloads-on-a-windows-server-2008-or-2012-file-share-distribution-point,为扩展添加以下 MIME 类型.py
    1a。1b。1c。1d 。application/octet-stream
    file/download
    application/x-python-code
    text/x-python
  2. 按照https://stackoverflow.com/questions/19404770/force-file-download-in-iis7,添加出站重写规则,导致文件中出现以下值web.config

 

<outboundRules>
    <rule name="PY_ForceDownload" preCondition="PY_Precondition">
        <match serverVariable="RESPONSE_Content-Disposition" pattern=".*" />
        <conditions>
            <add input="{REQUEST_FILENAME}" pattern="(.*)\\([^/]+)\.py$" />
        </conditions>
        <action type="Rewrite" value="attachment; filename={C:2}.py" />
    </rule>
    <preConditions>
        <preCondition name="PY_Precondition">
            <add input="{REQUEST_FILENAME}" pattern="\.py$" />
        </preCondition>
    </preConditions>
</outboundRules>

答案1

要强制链接下载,最简单的方法可能是修改 html。

<a href="yourPython.py" download>Some link text.</a>

添加下载属性将导致浏览器下载文件而不是打开它(假设是html5)。

这是 w3school 的描述如果您想了解更多信息。

file/download您也可以尝试在 IIS 管理器中将MIME 类型设置为。

相关内容