Назад | Перейти на главную страницу

Принудительная загрузка файлов PY в Edge и IE

При нажатии на ссылку на файл PY в Google Chrome он загружается по желанию, но при этом в Microsoft Edge и Internet Explorer он просто просматривается.

Это проблема веб-браузеров или веб-сервера? Если последнее, как можно настроить 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- точка, добавив следующие типы MIME для расширения .py:
    1а. application/octet-stream
    1b. file/download
    1c. application/x-python-code
    1г. 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>

Чтобы заставить ссылку загружаться, вероятно, проще всего просто изменить свой html.

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

Добавление атрибута загрузки приведет к тому, что браузер загрузит файл, а не откроет его (при условии html5).

Вот школа w3school описание если вы хотите узнать об этом больше.

Вы также можете попробовать установить тип MIME на file/download в диспетчере IIS.