Apache サーバーで作業していますか? その場合は、これを .htaccess ファイルに追加するだけです。
RewriteCond %{REQUEST_FILENAME} -f
RewriteCond %{QUERY_STRING} fdl=1
RewriteRule .? - [T=application/octet-stream]
ファイルであることを確認します パラメータ fdl=1 がクエリ文字列にあるかどうかを確認します octet-stream/force download として出力します
ブラウザにそのサイト内の何かのダウンロードを開始させたい場合は、URL にパラメータを追加するだけです:
<a href="img.jpg?fdl=1">Download Image</a>
IIS Windows サーバーで同じことを行うには、送信規則を web.config に追加します。
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<system.webServer>
<rewrite>
<outboundRules>
<rule name="Force Download">
<match serverVariable="RESPONSE_Content_Disposition" pattern=".?" negate="false" />
<action type="Rewrite" value="application/octet-stream" replace="true" />
<conditions>
<add input="{QUERY_STRING}" pattern="fdl=1" />
</conditions>
</rule>
</outboundRules>
</rewrite>
</system.webServer>
</configuration>
編集 (2016 年 10 月 4 日):
このdownload
属性はまだすべてのブラウザで完全に採用されていないようです。
JavaScript / ブラウザー ベースの実装については、サポートしていないブラウザーで機能を保存するためのポリフィルであるFileSaver.jsを見ることができます。ただし、完全なカバー力はありません。