
このサイトで使われているような、画像をワンクリックで保存をさせるものを作るにはどのような技術が必要なのですか?出来ればPHPかjavascriptで実装できるもので教えてほしいです
気になる質問をクリップする
クリップした質問は、後からいつでもMYページで確認できます。
またクリップした質問に回答があった際、通知やメールを受け取ることができます。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。

回答3件
0
ベストアンサー
ワンクリックで保存までは難しいと思います。もしブラウザ拡張などを使ってないのにワンクリックでディスクに保存できるなどという事をそのサイトがうたっているのなら、それこそワンクリック詐欺です。
冗談はさておき、クリックしたら保存ダイアログを表示する方法ですが3つあります。
一つはサーバにリクエストし、サーバから Content-Disposition: attachment
ヘッダを付けて画像を返させる方法。
次に HTML5 の a タグ download 属性を使う方法
<a href="/path/to/the/image.jpg" download="beautiful.jpg">Download This Image</a>
もう一つは 'data:image/jpg;base64,'
の後に画像を base64 エンコードして引っ付けた文字列を window.location = 'data:image/jpg;base64,XXXX....'
の様に指定する方法。
もしダウンロードしたい物が画像で、かつ同じサイズの物が既に表示されていて、製造コストを考えると2番目が良いかと思います。
投稿2017/06/22 03:23
編集2017/06/22 03:31総合スコア5030
0
PHPのタグがついているのでPHPで実装をお考えということでしょうか?
既に回答があるように1クリック保存はセキュリティ上で難しいと思います(既にあるように1クリック詐欺とみなされる可能性がある)
クリック⇒ファイル保存ダイアログ(headerのattachment)⇒保存
とするのが一般的と思います。
以下より1クリック少ないといえば少ないですが・・
右クリック⇒名前をつけて画像を保存⇒ファイル保存ダイアログ⇒保存
投稿2017/06/22 03:31
総合スコア80888
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
あなたの回答
tips
太字
斜体
打ち消し線
見出し
引用テキストの挿入
コードの挿入
リンクの挿入
リストの挿入
番号リストの挿入
表の挿入
水平線の挿入
プレビュー
質問の解決につながる回答をしましょう。 サンプルコードなど、より具体的な説明があると質問者の理解の助けになります。 また、読む側のことを考えた、分かりやすい文章を心がけましょう。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
退会済みユーザー
2017/06/22 03:53