質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

Struts 2

Apache Struts 2は、Apache Strutsプロジェクトにて開発されているオープンソースのJavaベースのWebアプリケーションフレームワークです。Sturts1に比べ、設定ファイルの削減、依存性の注入、POJO等の改善がなされています。

zip

ZIPとは、複数のファイルをひとつにまとめて圧縮したり、圧縮したファイルを展開することができるアーカイブフォーマットです。 1998年以降のWindowsOS各バージョンで、標準の圧縮フォルダとして採用されています。 MacOSでも、X v10.3以降に他の圧縮ソフトとまとめてZIP機能を採用しています。

Q&A

解決済

3回答

743閲覧

ZipAchiveOutputStreamについて

hirohiro0369

総合スコア16

Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

Struts 2

Apache Struts 2は、Apache Strutsプロジェクトにて開発されているオープンソースのJavaベースのWebアプリケーションフレームワークです。Sturts1に比べ、設定ファイルの削減、依存性の注入、POJO等の改善がなされています。

zip

ZIPとは、複数のファイルをひとつにまとめて圧縮したり、圧縮したファイルを展開することができるアーカイブフォーマットです。 1998年以降のWindowsOS各バージョンで、標準の圧縮フォルダとして採用されています。 MacOSでも、X v10.3以降に他の圧縮ソフトとまとめてZIP機能を採用しています。

0グッド

0クリップ

投稿2018/02/05 08:06

編集2018/02/06 06:48

Webシステムで使用しているフレームワークStruts2.3系をStruts2.5系にバージョンアップしています。
データをダウンロード(データはZip化)する機能があり、Zip化にはZipArchiveOutputStreamを使用しております。
今回Struts2バージョンアップによって上手くZip化できない現象が発生しております。
→具体的にはIEだと.txt(中身はzip)でChrome/Firefoxだと.zipでダウンロードされます。
Struts2バージョンアップによってZipArchiveOutputStreamも影響があるのでしょうか?
それ以外にも何か原因がありますでしょうか?
(初心者のため伝わりにくい部分もいくつかあるかもしれませんが、ご容赦下さい。)

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

unz.hori

2018/02/06 03:52

上手くZip化できないとはどういう現象でしょうか?詳細に記述してください。
hirohiro0369

2018/02/06 06:26

説明が足りず申し訳ありません。ダウンロードするデータはZip化したtsvですが、ダウンロード結果がブラウザ単位で挙動が違ってしまいます。IEだとZip化されないtxtがダウンロードされます。txtの拡張子をZipに変更して解凍するとtsvを開くことができます。他のブラウザ(Chrome、FireFox)ではZip化されたtsvがダウンロードできますが、Zipファイル名がデフォルトのファイル名になってしまいます。
unz.hori

2018/02/06 06:30

ちょっと説明がおかしい部分がありますが、要するにIEだと.txt(中身はzip)でChrome/Firefoxだと.zipでDLされるということですか?できれば質問の方を修正してください。
hirohiro0369

2018/02/06 06:46

その通りです。IEだと.txt(中身はzip)でChrome/Firefoxだと.zipでDLされます。
unz.hori

2018/02/06 06:52

ダウンロード処理でmime typeは何を指定してるんでしょうか?またファイル名はサーバ側で設定してますか?
hirohiro0369

2018/02/06 07:12

mine typeはtext/plainを指しています。ファイル名はサーバ側で設定しています。
guest

回答3

0

ベストアンサー

以下のサイトの例のように
・コンテンツタイプをapplication/octet-streamにする
・Content-Dispositionヘッダーの値を"attachment"にする
を行った場合、挙動はどうなるでしょうか?
ファイルをダウンロードさせたいとき

投稿2018/02/06 09:02

unz.hori

総合スコア1057

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

hirohiro0369

2018/02/09 07:09

回答が遅くなり申し訳ありません。 コンテンツタイプの指定をjavaソースで設定できず手間取っていました。 struts設定ファイルに直接コンテンツタイプ"application/zip"をパラメータとして指定することができ、無事zipダウンロードできるようになりました。 情報共有下さり、本当にありがとうございました。
unz.hori

2018/02/09 07:13

できれば、正式な定義ファイルとどの項目を設定したのかを明記していただけると今後、同様な事象で悩む方の参考になるので明記してくださると幸いです。
hirohiro0369

2018/02/09 07:21

struts.xmlにダウンロード用actionタグ設定し、下位階層のresultタグ内にパラメータタグparam=contentTypeを設定し、直接"application/zip"を指定しました。 以上、よろしくお願いいたします。
guest

0

IEはmime(Content Type)に問題があるみたいです。ちなみにIEのバージョンは何でしょうか?
IE Content-Type無視

投稿2018/02/06 08:46

unz.hori

総合スコア1057

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

hirohiro0369

2018/02/06 09:26

IEのバージョンは11です。 IE9以降「MIME スニッフィングを有効にする」という名称に変わったみたいです。 試しに設定を変更してみましたが、Zip化されないtxtがそのまま表示されてしまいました。
guest

0

mime typeに"application/zip"を指定してみてください。
application/zip【MIMEタイプ】

投稿2018/02/06 07:17

unz.hori

総合スコア1057

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

hirohiro0369

2018/02/06 07:53

mime typeに"application/zip"を指定するようソースでは記述されておりますが、実際mime typeには"text/plain"が指定されてしまいます。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問