• ベストアンサー

サーバにアップしたファイルを落としてくるとファイルが壊れる

 サーバ(tomcatで動作)にファイルをアップロードできる アプリケーションをservlet、JSPで作成しています。  アップするのは正常に動作し、ファイルサイズも変わりなく壊れていません。 ですが、ファイルの直リンクを右クリックから保存した場合、Netscapeでは ファイルに余計なデータが付いて、midiならファイルが開けなくなり htmlファイルには行ごとの改行コードが、もう一度付加して総バイト数が 違ってきます。  しかし、これはNetscapeのみの現象でIEやOperaで同様にファイルを落として きた場合、正常にダウンロードできます。  そもそも ”A HREF=”の直リンクをブラウザの「リンクを名前を付けて保存」 で落としてくるのですからservletのロジックは全く関係ないと思っています。 また、通常のHTMLでは何の問題もなくダウンロードできます。  となると考えられるのはtomcatが何かしら関係しているのではと予想しては いるのですが、お手上げなのです。  最終的にはNetscapeがおかしいという事になるのでしょうが、使用するブラウザが Netscapeと限定されている環境でのアプリ開発なので、ブラウザを替えるという 選択肢はないのです。  このような状態になった方の経験から、アドバイスをいたたければ幸いです。 よろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
noname#18951
noname#18951
回答No.2

Servletは素人ですが、Webに関してはそれなりの知識があるので。  Content-Typeの設定は正しいでしょうか?IEはContent-Typeを無視して 正しいContent-Typeを判断するようになっています。Operaについてはわか りません。NetscapeはContent-Typeを忠実に反映するのでそのときに改行 コードを自動的に変換するのではないかと考えます。  なお、バイナリを落とすためにはContent-Typeを最低限 application/octet-streamにするほうがいいです。 釈迦に説法かもしれませんことをお許しください。

noname#4663
質問者

お礼

回答ありがとうございます。 > >釈迦に説法かもしれませんことをお許しください。 > いえいえ、とても参考になりました。 Content-Typeが怪しいということさえ気付いてはいなかった のですから。 おかげさまで、それをきっかけに正常動作させることができました。 気付かないというのは、なかなかやっかいなことですね。

すると、全ての回答が全文表示されます。

その他の回答 (1)

  • alfeim
  • ベストアンサー率58% (114/195)
回答No.1

確かNetscape側の問題だったはずです。 Netscapeが改行コードの変換を行うため、バイナリイメージが壊れてしまうためだったはず。多分壊れたファイルと正常なファイルのファイルサイズを比べると多少ずれがあるはずです。 確かNetscape側の設定で回避出来たとも思いますが・・・私はほとんどNetscapeを使ってなかったので設定オプションに付いては分かりません

noname#4663
質問者

お礼

そう、どうやらそのとうりのようでした。 Netscape側の設定を変え、サーバと連動させることで 解決しました。ありがとうございます。

すると、全ての回答が全文表示されます。

関連するQ&A