Webページ上に「ファイルをダウンロードできるリンクを設置したい」という場面があるかと思います。
主に製品のマニュアルが記載されたPDFや、画像などのアセットを配布したいときなどによく使われますね。
こういったダウンロードリンクを作成するには、a
タグのdownload
属性を使用するだけで簡単に実装できます!
今回の記事では、
a
タグのdownload
属性の記述方法download
属性を使用する際の注意点
これらについて説明していきますので、ダウンロードするリンクを作成したい方はぜひ参考にしてみてください。
aタグのdownload属性の記述方法
まずはダウンロードリンクの書き方をみていきましょう。
以下がダウンロードリンクの完成版のコードです。
<a href="./pdf/sample.pdf" download="sample.pdf">クリックでダウンロード</a>
作成する上でのポイントは、以下の2つです。
href
属性にダウンロードさせたいファイルへのパスを記入download
属性にファイル名を記入
それぞれ説明していきますね。
作成手順1. href属性にファイルへのパスを記入する
href
属性には、ダウンロードさせたいファイルのパスを入力します。
パスの指定方法は、相対パスでも絶対パスでもどちらでも構いません。
<!-- 相対パスで指定した例 -->
<a href="./pdf/sample.pdf" download="sample.pdf">クリックでダウンロード</a>
<!-- 絶対パスで指定した例 -->
<a href="https://yoursite.com/pdf/sample.pdf" download="sample.pdf">クリックでダウンロード</a>
作成手順2. download属性にダウンロード時のファイル名を指定する
続いてdownload
属性には、ダウンロードした時のファイルの名前を指定します。
もしdownload
属性が空の場合は、ファイルが持つ名前がそのまま反映されます。
ファイル名を指定する場合
<!-- 例1) ダウンロード時のファイル名がsample.pdfになる -->
<a href="./pdf/sample.pdf" download="sample.pdf">クリックでダウンロード</a>
<!-- 例2) ダウンロード時のファイル名がexample.pdfになる -->
<a href="./pdf/sample.pdf" download="example.pdf">クリックでダウンロード</a>
上記の例のように、本来のファイル名を指定することもできますし、ダウンロード時にファイル名を変更したい場合は任意の名前を指定することもできます。
例1では元のファイル名もダウンロード時の名前もsample.pdf
なので、sample.pdf
としてダウンロードされます。
例2では、元のファイル名はsample.pdf
ですが、download
属性にはexample.pdf
を指定しているので、ダウンロード時にはexample.pdf
として保存されます。
ファイル名を指定しない場合
<!-- ダウンロード時のファイル名がsample.pdfになる -->
<a href="./pdf/sample.pdf" download="">クリックでダウンロード</a>
<!-- ダウンロード時のファイル名がsample.pdfになる -->
<a href="./pdf/sample.pdf" download>クリックでダウンロード</a>
上記の例のように、download
属性の値を空にする、もしくは値を指定しない場合は、ファイルが持つ本来の名前でダウンロードされます。
この場合ファイル名はsample.pdf
なので、そのままの名前が保持されますね。
aタグのdownload属性を使用する上での注意点
a
タグのdownload
属性を使用するにあたって、いくつか注意すべき点を説明しておきます。
同一オリジンのURL以外ではダウンロードできない
download
属性でダウンロード可能なのは、同一オリジンの場合のみです。
そのため、外部のサイトのファイルをダウンロードさせることはできません。
<a>: アンカー要素 – HTML: HyperText Markup Language | MDN
download
は同一オリジンのURLと、blob:
,data:
の各スキームでのみ動作します。
ダウンロードリンクを設置する場合は、必ず自身のサイトのリソースを使用しましょう。
IEなど一部未対応のブラウザがある
download
属性の現在のブラウザ対応状況は、以下の通りです。
見ていただければわかる通り、IEや古いバージョンのブラウザでは対応していませんね。
これら未対応のブラウザでは、ダウンロードの代わりにページ遷移でファイルを開くという仕様になっています。
もしファイル形式が画像やPDFファイルなら、右クリックから手動でダウンロード可能です。
もしIEでもdownload
を機能させたい場合は、今のところJavaScriptを併用するしかなさそうですね。
それに関してはこちらの記事で紹介されているので、ぜひ参考にしてみてください。
【まとめ】aタグのdownload属性でファイルのダウンロードリンクを作成可能!
以上、a
タグのdownload
属性を使用して、ダウンロードリンクを実装する方法を紹介しました。
自身のサイトでPDFや画像などのアセットを配布したいときは、ぜひこの方法を使用してみてください!
コメント