サーブレットからファイル名(csv)を指定してダウンロード
する機能を開発しております。
操作の流れ
(1)HTMLでsubmitボタン押下→ダウンロードを問い合わせる
ダイアログ表示
(2)「このファイルをディスクに保存する」を選択し[OK]を押す
(3)「ファイルの保存」ダイアログで保存
(4)「ダウンロードの完了」ダイアログが表示される→[ファイル
を開く]を押すとexcelが起動しダウンロードしたcsvが表示
される。
しかし、(1)でダウンロードするよう促されるのがCSVではなく
HTMLから呼び出したサーブレットなのです。
一応(2)~(4)の操作でcsvをダウンロードできますが、なぜか
ブラウザ上でマウスポインタが作業中の状態(矢印と砂時計)の
まま変りません。
次に、(1)で「このファイルを上記の場所から開く」を選択し
試しました。すると、同じダイアログでcsv(MASTER_*_*.csv)
をダウンロードするよう促されます。
今度は(2)~(4)でダウンロードでき、上で起こったような現象
も起こりません(通常時のマウスポインタ)。
最初からcsv(MASTER_*_*.csv)をダウンロードするダイアログを
表示したいです。
そこで、最初のダイアログが表示されないよう設定したいと思い
ますが、[この種類のファイルであれば常に警告する] チェックのON/OFF
を切り替えられせん。
サーブレットの一部です。
res.setContentType("text/plain; charset=iso-2022-jp");
res.setHeader("Content-Disposition","attachment; filename=MASTER_" +
groupInp + "_" + factoryCode + "_" + date +".csv");
また、上記の"attachment; を"inline;に変えると、ブラウザの中にexcel
が起動されてしまいます。
最初のダイアログの表示をサーブレットによって制御することは可能
でしょうか?ご存知の方いらっしゃればご教示いただきたく。
よろしくお願い致します。
No.2ベストアンサー
- 回答日時:
いい忘れました。
もう一つ。
ダウンロードという行為はブラウザの種類,バージョンに
大きく依存します。
例えば、IE 3.x/4.x/5.x(6.x)で
振る舞いは全て(微妙に)異なります。
Netscapeも微妙に違っていたような記憶がありますが、
よく覚えていません。
どのブラウザをターゲットにするかによって、作りが若干変わってきます。
No.1
- 回答日時:
すみません。
質問読んでも何が要点なのかいまいちつかめませんが、
一つだけ。
ダウンロードしたいのだったら、
res.setContentType("text/plain; charset=iso-2022-jp");
はまずいのでは?
text/plainのドキュメントはブラウザ内で表示する設定にしている人も多いはず。
application/octetなどにした方がよいように思います。
遅くなりましたが、いろいろ試した結果、以下のように
訂正したところ、解決しました。
ありがとうございました。
-------------------------------------------------------------
res.setContentType("application/octet-stream-dummy; charset=iso-2022-jp");
res.setHeader("Content-Disposition","inline; filename=MASTER_" + groupInp + "_" + factoryCode + "_" + date +".csv");
-------------------------------------------------------------
"application/octet-stream-dummy"の部分が
"application/octet-stream"だとブラウザ内に表示されてしまいます。
(ブラウザはIE5です。)
ネスケ4.7でも同様に試しましたが、いずれもダウンロードがうまくいき
ました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) 動かなくなってしまった古いVBAを動くようにしたい 8 2022/09/20 13:57
- Excel(エクセル) エクセルでcsvファイルを開いてVBAを使いたい 7 2022/04/28 11:12
- Visual Basic(VBA) エクセルのマクロについて教えてください。 2 2023/07/06 17:46
- Visual Basic(VBA) VBA 参照先で選んだファイルをコピーし、出力先に別名で保存したい 8 2022/05/13 20:37
- C言語・C++・C# ActiveXコントロールを.NETにインポートできない??? 2 2023/05/02 02:50
- Visual Basic(VBA) VBA初心者です。電話番号の数字の前に0を表示させたいです。 2 2022/12/14 03:58
- Visual Basic(VBA) 複数のcsvファイルをExcelに一括変換したい 2 2023/03/03 12:44
- Excel(エクセル) 【困っています】VBA 追加処理の記述を教えてください。 1 2022/08/25 22:54
- その他(スマホアプリ・スマホゲーム) アプリをスマホにダウンロード、インストールする方法 3 2022/08/13 11:26
- HTML・CSS HTMLタグのあるCSVファイルを利用する方法 4 2023/03/19 14:41
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
ASPでCSVファイルを作成しダウ...
-
OpenTextFile で書き込みできま...
-
ヤフーのNYダウの過去データ...
-
VBAでファイルパスが長すぎてコ...
-
Microsoft Access エラー 3051
-
バッチによるショートカットの...
-
レーザープリンターのA4・5...
-
1フォルダに保存できるファイル...
-
複数のファイルを同時検索し、...
-
HTMLプログラムにExcelをリンク...
-
Refreshで落ちる
-
Excelでdatファイルを作成??
-
John The Ripper
-
FTPサーバからファイルをダウン...
-
読み取り専用解除
-
fopenでNULLを返されるがGetLas...
-
batファイル処理でのテキストフ...
-
ExcelVBAで、隠しフォルダにあ...
-
Access2003で「オブジェクト'○○...
-
複数のテキストファイルをexcel...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
OpenTextFile で書き込みできま...
-
ASPでCSVファイルを作成しダウ...
-
ファイルのダウンロード
-
csvファイルを読み込む方法につ...
-
ファイルダウンロードの開くで...
-
ヤフーのNYダウの過去データ...
-
CSVファイルダウンロードダイア...
-
IE6でのダウンロードダイア...
-
サーブレットからファイル名を...
-
複数のテキストファイルをexcel...
-
フォルダ作成用バッチファイル...
-
Excelでdatファイルを作成??
-
バッチによるショートカットの...
-
VBAでファイルパスが長すぎてコ...
-
Microsoft Access エラー 3051
-
バッチファイルが作成できない
-
batファイル処理でのテキストフ...
-
Lubuntuでフォントをインストー...
-
【Excel VBA】PDFを作成して,...
-
Access2003で「オブジェクト'○○...
おすすめ情報