- PR -

ファイルのダウンロードダイアログが2度表示される。

投稿者投稿内容
らふ
会議室デビュー日: 2003/08/04
投稿数: 5
投稿日時: 2004-07-02 21:46
すみません。
こちらは Netscape非対応のシステムだったので動かしてないんです。
対処は分かりませんです。
もうしわけないです。
みゆき
会議室デビュー日: 2004/07/02
投稿数: 6
投稿日時: 2004-07-07 15:27
ご返事ありがとうございます。

NN4.78問題ないのに、NN7.1なぜだめなのか?
ブラウザ特有の動きでどうしようもことなのですか。。。

また調べてみます。
未記入
会議室デビュー日: 2004/09/29
投稿数: 2
投稿日時: 2004-09-29 21:17
エクセルをダウンロードさせたいのですが、
ダイアログが2度開くため、
Content-Disposition: inline; filename="xxxx.xls"
に変更してみました。

そうするとエクセルがインラインで表示されてしまいます。
解決法はありますでしょうか?

永井和彦
ぬし
会議室デビュー日: 2002/07/03
投稿数: 276
お住まい・勤務地: 東京都
投稿日時: 2004-09-29 22:27
引用:

未記入さんの書き込み (2004-09-29 21:17) より:
エクセルをダウンロードさせたいのですが、
ダイアログが2度開くため、
Content-Disposition: inline; filename="xxxx.xls"
に変更してみました。

そうするとエクセルがインラインで表示されてしまいます。
解決法はありますでしょうか?



このスレッドを読む限りでは
「2つダイアログが開かないようにするために、Content-Dispositionとしてinlineを指定する」
「(inlineと指定しても)IEに勝手に展開されないように未知の(/デタラメな)ContentTypeを指定する」
……という2つの対策で1セットになっているようです。

203991さんの書き込みを見る限りでは、この2番目が抜けているように見受けられるのですが。
それも一緒にやったけどダメだった……というお話でしょうか?
未記入
会議室デビュー日: 2004/09/29
投稿数: 2
投稿日時: 2004-09-30 09:42
>このスレッドを読む限りでは
>「2つダイアログが開かないようにするために、Content-Dispositionとしてinlineを指定する」
>「(inlineと指定しても)IEに勝手に展開されないように未知の(/デタラメな)ContentTypeを指定する」
>……という2つの対策で1セットになっているようです。
>
>203991さんの書き込みを見る限りでは、この2番目が抜けているように見受けられるのですが。
>それも一緒にやったけどダメだった……というお話でしょうか?

はい。そのとおりです。
一緒にやってみてもだめだったという話です。
たけぞう
会議室デビュー日: 2004/10/27
投稿数: 1
投稿日時: 2004-10-27 15:30
OutPutStreamに出力するサーブレットなり、StrutsのActionなりをGETで呼べばダイアログが2回でなくなるのではないでしょうか?
<form action='xxxxx' method="GET">
or
<html:form action="xxxxx" type="xxxxForm" method="GET">
こみ
会議室デビュー日: 2004/11/30
投稿数: 1
投稿日時: 2004-11-30 17:14
windowsXPのProfessionalを使用しております。
現在開発中のシステムでは、
以前、ダウンロードダイアログが二度出る現象が発生したこともあり
>res.setContentType( "application/octet-stream-dummy" );
>res.setHeader("Content-Disposition","inline; filename=\"xxx.csv\"" );
と言ったようなコーディングで開発を行っております。

ですが、先日windowsXPのSP2を当てたマシンで
テストを行なった所、ダウンロードダイアログ事態が表示されなくなり
ダウンロードできなくなりました。(何らかの処理は動いているようです。)
テストしたファイルは「jpg」「txt」「tif」です。

次に、
>res.setContentType( "application/octet-stream" );
>res.setHeader("Content-Disposition","attachment; filename=\"xxxx.csv\"" );
こちらの方法で試してみましたが、
windowsXPのSP2を当てたマシンでは、
ダウンロードダイアログが二度出る現象が発生しなくなり
正常に「ダウンロード」→「開く」を行なうことが出来ました。
(それ以外のマシンでは、やっぱり2回表示されます。)

これらの件に関して何か情報等ご存知の方いらっしゃいますか?


また、たけぞうさんのおっしゃる通り
GETを用いてダウンロードを行なうとSP2云々に関わらず
win2000,winXPで正常に「ダウンロード」→「開く」を行なうことが出来ました。

>たけぞうさん
GET方法に変えることにより、どういった違いが生じ
「ダウンロード」→「開く」が、うまく行くようになるのでしょうか?
申し訳ありませんが、もしよろしければ教えて頂きたいのですが。
また、サーバサイドで「ダウンロード」→「開く」を正常に行なうような
コーディングは可能なのでしょうか?

環境
-OS-
Microsoft Windows XP Professional
Version 2002
Service Pack 2

-IE-
Version: 6.0.2900.2180.xpsp_sp2_rtm.040803-2158
更新バージョン: SP2


[ メッセージ編集済み 編集者: こみ 編集日時 2004-11-30 18:06 ]
Youbun
会議室デビュー日: 2004/03/18
投稿数: 1
投稿日時: 2004-12-02 09:38
res.setHeader("Cache-Control","");
res.setHeader("Pragma","");
とかしてキャッシュを使用しないようにすることで
回避した記憶があります。

スキルアップ/キャリアアップ(JOB@IT)