PCがあれば何でもできる!スマートフォン用の表示で見るPCがあれば何でもできる!へっぽこアラサープログラマーが、覚えたての知識を得意げにお届けしますこの広告は、90日以上更新していないブログに表示しています。URIの画像を、ダウンロードできるようにして欲しいという依頼があり、対応してみました。aタグのdownload属性は、IE11やSafariでは使えないHTML5で追加されたdownload属性。download="file_name.jpg">ダウンロード</a>こんな感じで、download属性にファイル名を書けば、そのままダウンロードできる仕組み。すごく簡単で喜んでいたのですが、なんとIE11やSafariでは使えないことが発覚。orzCakePHP側で対応する通常サーバー側でファイルをダウンロードさせたい場合、レスポンスヘッダーをいじらなければいけないのですが、CakePHPだとこのように書けます。}}response->bodyとdownloadを設定すれば良いだけです。pngあたりなら大丈夫ですが、きちんとやるなら変換表を作った方が良いかと思います。URIではなく、ローカルに保存されているファイルであれば、response->fileを設定すればいいみたいです。追記SafariでDL時にhtmlの拡張子がついてしまうため、$this->response->typeでコンテンツタイプを指定するようにしました。ブラウザによって画像名に日本語が混じっていると文字化けするため、ファイル名に文字コードの指定と、URLエンコードを噛ませるようにしました。将範フリーランス/エンジニア(主にサーバサイド、その他広く浅く)自宅の作業場は冷蔵庫の隣。キッチンエンジニアとして日々精進しています。(1)はてなブログをはじめよう!m_doi2さんは、はてなブログを使っています。ブログを報告するスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。