イラストレーターのデータ(.ai)をホームページにアップして、閲覧した人にダウンロードしてもらうように、リンクを設定したのですが、いざ、アップしてダウンロードすると、「.ai」ではなく「.ps」でダウンロードされてしまいます。これを圧縮せず、保存名をこちらで書き換えずに「.ai」でダウンロードさせたいのですが、どうしたらいいでしょうか?よろしくお願いします。

回答の条件
  • URL必須
  • 1人2回まで
  • 登録:
  • 終了:--
※ 有料アンケート・ポイント付き質問機能は2023年2月28日に終了しました。

回答4件)

id:mizuty No.1

回答回数6ベストアンサー獲得回数0

ポイント18pt

.aiと.psはmimeが同じようです(application/postscript)。

これだとどう転んでもブラウザ(特にIE)では.psで保存しそうです。

ダウンローダを使わせるぐらいしか思いつかないです。

id:ngpaka No.2

回答回数836ベストアンサー獲得回数1

ポイント18pt

「未設定MIME-TYPEの設定」

こちらの設定は試されたでしょうか?

以下、参考までに。↓

http://support.microsoft.com/default.aspx?scid=kb;ja;180030

EPS ファイルの拡張子がダウンロード時に変わる

こちらは、epsファイルでのダウンロード側設定ですが・・・。

id:keijiro No.3

回答回数83ベストアンサー獲得回数1

ポイント17pt

http://www.php.gr.jp/

日本 PHP ユーザ会 (Japan PHP Users Group) :: メイン

PHPなどのプログラムをかませて、

http headerを変えてやるとうまくいきますよ。

たとえば、

<?php

$FILENAME = ”test.ai”;

header(”Content-disposition: attachment; filename=”.$FILENAME);

header(”Content-type: application/octet-stream; name=”.$FILENAME);

?>

id:sima2 No.4

回答回数6ベストアンサー獲得回数0

ポイント17pt

http://ns1.php.gr.jp/pipermail/php-users/2003-October/019128.htm...

[PHP-users 18599]csvダウンロードが出来ません

正直、サーバサイドでMIME設定を追加しても結局ブラウザ側が対応しなければ難しいと思います。

アプローチを全くかえて、その.aiファイルを送る前に

Content-disposition: attachment; filename=****.ai

Content-type: application/octet-stream; name=****.ai

とかというレスポンスヘッダをサーバから返すことが可能であれば、もしや・・・と思います。

具体的にはそのダウンロードさせたいファイルをスクリプトなりなんなりで読み込みながらクライアントに吐き出しする方法で、その処理の前に上記ヘッダを返す、というやり方です。

IEのダウンロードダイアログで最初からファイル名が全く違う物が指定されている場合がありますが、この方法でやっています。

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

回答リクエストを送信したユーザーはいません