WEB相談室

Webページ作成に関しての何でも掲示板です。

タイトル:画像を強制ダウンロード

0:[投稿] kojikoji [2002/07/26 13:08 ][環境:WIN+IE UNIX系+OTHER]

サーバ側からGIF画像を、クライアント側に強制的にダウンロードさせるには、どうしたらいいでしょうか?
<A HREF=●●●.gif>−−−</A>
だと、ブラウザにただ表示されるだけで、ダウンロードさせることができません。


1:[回答] 名無し~3.exe [2002/07/27 00:53 ]

img


2:[回答] Name_Not_Found [2002/07/27 22:54 ]

http://cgi.members.interq.or.jp/pink/taka1112/wforum/wforum.cgi?no=194&reno=no&oya=194&mode=msg_view&page=0


3:[回答] saori [2002/07/28 00:25 ]

自分が望むような答えがいただけない場合は、
説明不足かもしれないので、
どんな目的でどんなふうにダウンロードしたいのか
詳しくご説明があったらお返事いただきやすいかも?です。
わたしも、自分でしたいコトがうまく書けないときもありますけど
あきらめないで別の文章を付け足したりして
教えていただいたりしています。

インターネットで画像を見るときは、サーバから
見たい画像が自分のコンピュータにダウンロードされてから
ブラウザに表示されます。
つまり強制的にダウンロードを意識しなくても自動的にダウンロードされています。

わたしのコンピュータの場合は、ここ↓にダウンロードされた画像が保存されます。
C:\WINDOWS\Temporary Internet Files

なのでオフラインにしても画像をみることができます。
でもキャッシュを残さないようにページで設定していると画像は残らないです。

それから、画像を表示できないブラウザや、
画像を表示しないように設定しているブラウザでは
imgではダウンロードされません。


4:[回答] しなのむし [2002/07/28 10:32 ]

>ただ表示されるだけで、ダウンロードさせることができません
と言っているのだから「表示」が望みではないのでは。

Apacheなら .htaccess に
AddType application/octet-stream .gif
と記述すれば拡張子.gif のファイル
ForceType application/octet-stream
と記述すればそのディレクトリ以下のファイル全ては
アクセス時にファイルのダウンロードを促す
ダイアログボックスが表示される様になります。

>>1
とんちじゃないんだから答える気があるんなら
もう少しまともにやりましょうよ。

>>2
クロスポスティングについて何か?


5:[質問] 2m [URL] [2002/07/28 17:33 ]

僕もkojikojiさんと同じ(?)ような質問があるので書かせてもらいます。

まずは以下のアドレスをみてください。↓
http://second.s11.xrea.com/dot-enemys/image/image.html

ここからダウンロードできるファイルは、僕のゲーム用のファイルです。
もちろん拡張子は登録されていません。
そのせいか、テキストファイルにリンクを張ったようにファイルの中身が見えてしまい、
"ファイルのダウンロード"という名のDialogを出して、
ダウンロードさせることができないのです。
これは仕様なのでしょうか?
人為的にDialogを開かせることはできるでしょうか?
教えて下さい。


6:[質問] 2m [URL] [2002/07/28 17:36 ]

補足です。つまり、lzhやzipなどといったファイルを
ダウンロードするみたいにしたいのです。


7:[回答] しなのむし [2002/07/28 18:56 ]

>>5
同様に
AddType application/octet-stream .2dei
でいけると思います。
(サーバーでFileInfoのオーバーライドが許されているのならば)



8:[回答] ふじ [URL] [2002/07/29 01:29 ]

>>4

IEだと、画像ファイルに対して application/octet-stream を
指定してやっても効きませんぜ。
Content-Type を無視して、表示できそうなものは表示してしまうので。

http://www.google.co.jp/search?num=50&hl=ja&inlang=ja&ie=Shift_JIS&q=%83_%83E%83%93%83%8D%81%5B%83h+%83_%83C%83A%83%8D%83O+site%3Awww.ybi.co.jp&lr=

# FAQになりつつあるような


9:[回答] しなのむし [2002/07/29 03:34 ]

これでどないだすか?
http://lists.evolt.org/archive/Week-of-Mon-20011224/064591.html

# application/force-download
# うちのIE5.5ではよさげです。


10:[回答] しなのむし [2002/07/29 04:19 ]

補足です。
http://php.unam.mx/manual/es/function.header.php
http://www.faqts.com/knowledge_base/view.phtml/aid/141/fid/59

> If you specify a mime type which is not immediately recognized,
> but which appears to be valid then IE will accept this mime-type
> without sniffing and handle the Content-Disposition header properly.

未定義のmime type(force-download等)が指定されるとIEは中身を盗み見ることなく
Content-Dispositionをハンドルすると言っております。

application/force-downloadだけでは
OPERAには効かなかったので
やはり.htaccessだけでやるのは無理かも。
ちゃんと調べてから出直します。(多分。。。(^^;)


11:[質問] 2m [URL] [2002/07/29 11:59 ]

2mです。すみません。
HTMLのどこに"AddType application/octet-stream .2dei"と、
記述すればいいのでしょうか?


12:[回答] しなのむし [2002/07/29 21:19 ]

以下のようなPHPスクリプトを書きました。
("スクリプト.php/ファイル名" の形で呼ぶ。)
IE、NCでは多分ダウンロードのダイアログボックスが出ます。
# application/force-downloadの効用は不明
Operaではどうにも出来ませんでした。
やはり2mさんのように拡張子を.lzh等にするのが確実なようです。

<?
/* Force Downloader for IE and Netscape */

$filename = substr($_SERVER["PATH_INFO"],1);
if(is_file($filename))
{
header("Content-Type: application/octet-stream");
header("Content-Disposition: attachment; filename=\"$filename\"");
readfile($filename);
}
else echo "error";
exit;
?>


13:[回答] 平野 敬 [MAIL] [URL] [2002/08/02 16:15 ]

>>11
HTML ではなく .htaccess に記述します。
http://www.mikeneko.ne.jp/~lab/web/htaccess/

回答(必須): 状態:

お名前(必須):

e-mail:

URL:




[戻る]

ChaichanPAPA's World