Принудительная загрузка файлов PY в Edge и IE
При нажатии на ссылку на PY-файл в Google Chrome он загружается по желанию, но в 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-distribution-point, добавляя следующие типы MIME для расширения
.py
:
1a.application/octet-stream
1б.file/download
1c.application/x-python-code
1д.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, если вы хотите узнать больше об этом.
Вы также можете попробовать установить MIME Type в file/download
в диспетчере IIS.