При нажатии на ссылку на файл PY в Google Chrome он загружается по желанию, но при этом в Microsoft Edge и Internet Explorer он просто просматривается.
Это проблема веб-браузеров или веб-сервера? Если последнее, как можно настроить IIS 10 для принудительной загрузки файлов PY?
Я пробовал следующее, но ничего не изменилось:
.py
:application/octet-stream
file/download
application/x-python-code
text/x-python
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.
<a href="yourPython.py" download>Some link text.</a>
Добавление атрибута загрузки приведет к тому, что браузер загрузит файл, а не откроет его (при условии html5).
Вот школа w3school описание если вы хотите узнать об этом больше.
Вы также можете попробовать установить тип MIME на file/download
в диспетчере IIS.