Safari v6.0.5 (8536.30.1) は、同じファイルでも異なるサーバーからダウンロードすると動作が異なります。

Safari v6.0.5 (8536.30.1) は、同じファイルでも異なるサーバーからダウンロードすると動作が異なります。

最近、あるホスティング (A ホスティング) から別のホスティング サーバー (B ホスティング) に切り替えました。以前は、Mac の Safari を使用して、右クリックして [リンクされたファイルを別名でダウンロード] を選択し、MP3 をローカル マシンに保存することで、MP3 をダウンロードできました。

しかし、同じPHPコード、同じMP3の別のホスティングに切り替えると、BホスティングウェブサーバーではMP3を保存できず、ウェブサイト(フルスクリーンオーディオプレーヤー)からのストリーミングのみが許可されます。SafariダウンロードWindowsでは、「0 KB ? - 要求された URL はこのサーバー上に見つかりません。」これは不可能です。このオプションが利用できないのは、サーバー内の同様の設定によるものだと思います。

少し調べてみたところ、ある Mac ユーザーが、「Option」+「クリック」を使って MP3 をダウンロードできると言っていました。この方法は A ホスティングと B ホスティングで機能します。B ホスティングで機能するように「リンクされたファイルを別名でダウンロード...」を修正する方法を知りたいだけです。

ありがとう!

アップデート:-

ホスティング:

ホスティングA

Bホスティング:

ホスティングB

ご覧のとおり、A Hosting にはありませんContent-Dispositionが、Safari ではファイルのダウンロードに問題はありません。本当にContent-Disposition問題なのでしょうか?

答え1

content-dispositionヘッダーについてです(http://www.w3.org/Protocols/rfc2616/rfc2616-sec19.html) および/または Web サーバー上で構成されているデフォルトまたは厳密な MIME タイプ。デフォルトでは、Apache などの Web サーバーは を使用します。text/plainに切り替えると、application/octet-stream問題が解決します。

関連情報