在 Google Chrome 中单击 PY 文件的链接即可根据需要下载该文件,但在 Microsoft Edge 和 Internet Explorer 中执行此操作只是查看它。
这是 Web 浏览器的问题还是 Web 服务器的问题?如果是后者,如何配置 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-distribution-point,为扩展添加以下 MIME 类型
.py
:
1a。1b。1c。1d 。application/octet-stream
file/download
application/x-python-code
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>
答案1
要强制链接下载,最简单的方法可能是修改 html。
<a href="yourPython.py" download>Some link text.</a>
添加下载属性将导致浏览器下载文件而不是打开它(假设是html5)。
这是 w3school 的描述如果您想了解更多信息。
file/download
您也可以尝试在 IIS 管理器中将MIME 类型设置为。