在 Google Chrome 中单击指向 PY 文件的链接会根据需要下载它,但在 Microsoft Edge 和 Internet Explorer 中这样做只会查看它。
这是网络浏览器或网络服务器的问题吗?如果是后者,如何将 IIS 10 配置为始终强制下载 PY 文件?
我尝试了以下方法,但没有任何改变:
- 根据https://www.jamf.com/jamf-nation/articles/309/using-iis-to-enable-http-downloads-on-a-windows-server-2008-or-2012-file-share-分发点,为扩展添加以下 MIME 类型
.py
:
1a。application/octet-stream
1b。file/download
1c。application/x-python-code
1d。text/x-python
- 根据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>
要强制将链接作为下载,修改您的 html 可能是最简单的。
添加下载属性将导致浏览器下载文件而不是打开它(假设为 html5)。
如果您想了解更多信息,请参阅w3school 的描述。
您也可以尝试
file/download
在 IIS 管理器中将 MIME 类型设置为。