質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Safari

SafariはAppleのウェブブラウザであり、Mac OS XとiOSのデフォルトのブラウザです。

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

iPhone

iPhoneとは、アップル社が開発・販売しているスマートフォンです。 同社のデジタルオーディオプレーヤーiPodの機能、電話機能、インターネットやメールなどのWeb通信機能の3つをドッキングした機器です。

Q&A

解決済

2回答

1513閲覧

iphone safariでの画像自動ダウンロードについて

MotohiroSuzuki

総合スコア16

Safari

SafariはAppleのウェブブラウザであり、Mac OS XとiOSのデフォルトのブラウザです。

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

iPhone

iPhoneとは、アップル社が開発・販売しているスマートフォンです。 同社のデジタルオーディオプレーヤーiPodの機能、電話機能、インターネットやメールなどのWeb通信機能の3つをドッキングした機器です。

0グッド

0クリップ

投稿2018/08/03 05:00

Web上のリンクをクリックしたタイミングで、画像を自動ダウンロードさせたいと思っています。
PCでは問題無くダウンロードさせることができるのですが、iphoneのsafariでは自動ダウンロードが行われず、
ブラウザ上に画像が表示されるだけになってしまっています。

実際のコードは以下になります。
(laravel4.2で実装しています)

PHP

1$im = new \Imagick(public_path() . $this->_stamp->anime_file_path); 2$response = \Response::make($im->getimagesblob(), 200); 3$response->header('Content-Type', 'application/force-download'); 4$response->header('Content-disposition', 'attachment; filename="' . basename($this->_stamp->anime_file_path) . '"'); 5 6return $response;

https://teratail.com/questions/114607
こちらの質問に対する回答で、以下のようなコメントが付いています。
>iOS上のSafariがContent-Disposition: attachmentの指定を無視するのが
仕様です。

https://joyplot.com/documents/2016/08/19/swift%E3%81%A7imageview%E3%81%AE%E7%94%BB%E5%83%8F%E3%82%92%E3%82%AB%E3%83%A1%E3%83%A9%E3%83%AD%E3%83%BC%E3%83%AB%E3%81%AB%E4%BF%9D%E5%AD%98%E3%81%99%E3%82%8B/

iosアプリでは実現できそうな記事も見かけるのですが、Webアプリでの実現方法をご存じの方がいましたらご教示いただけますでしょうか?
Webアプリで可能ならPHPに限らずJavascriptなど言語はなんでも大丈夫です。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

keisukeh

2018/08/03 12:35

無理じゃないかなぁと思います。画像長押し、カメラロールに保存。これしかなかったような。
MotohiroSuzuki

2018/08/03 13:15

やっぱりそうなんですかねぇ。ありがとうございます。
guest

回答2

0

ベストアンサー

safariの仕様上、自動ダウンロードはされないようになっています。
表示される動作は正しいものです。
なので質問者さんのようなことを実現することは難しいと思います。

投稿2018/08/10 04:23

退会済みユーザー

退会済みユーザー

総合スコア0

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

MotohiroSuzuki

2018/08/10 05:28

そうですか。 何か抜け道のような方法が無いか質問させて頂いていたのですが・・ 実現は難しそうなので質問はクローズさせて頂きます。 ありがとうございました。
guest

0

自動ダウンロードはできませんが、ウェブブラウザに画像を表示させずに、どのアプリで開くか選択させることはできます。

イメージ説明

Content-Typeに未知のコンテンツタイプ(application/force-download 等)を設定し、Content-Dispositionに拡張子を含まないファイル名を設定してください。

補足

iPhone X (iOS v11.4.1)

投稿2018/08/10 03:05

退会済みユーザー

退会済みユーザー

総合スコア0

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

MotohiroSuzuki

2018/08/10 03:39

回答ありがとうございます。 試してみましたが、これだと拡張子をとってしまうため保存後のファイルが画像として認識されないですね。 求める動きではありませんが、イレギュラーな方法とても参考になりました。 ありがとうございます。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問