• ベストアンサー

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

 サーバ(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

  • IEだと平気だけどNetscapeはダメ?

    現在、Servlet・jspを使って画像をダウンロードする プログラミングをやっているのですが、IEだと 正常にダウンロードできるのですがNetscapeだと 「ソースファイルが読み込めません。サーバー管理者 に連絡してください。」みたいなエラーが出て ダウンロードできません。しかも別のPCで Netscapeを使ってダウンロードすると落とせるという 現象まで起こっております。おそらく環境の違い? か設定の違いだと思うのですが・・・。どなたか こんな経験ありませんか?また思いつく原因など ありますか?どなたかご教授ください。

    • ベストアンサー
    • Java
  • Tomcatでプログラムが動作しません。

    Apache tomcatの事なのでオープンソースかこちらにご相談させていただこうか悩みましたがこちらにさせていただきました。 開発環境: Windows XP SP3 Professional java 2 SDK 1.5.0_16 Jakarta Tomcat 5.5.26 です。 現在javaのservletとJSPをtomcatで勉強している者です。 http://www.javaroad.jp/opensource/index.html#tomcat http://www.thinkit.co.jp/cert/article/0708/2/6/2.htm http://www.javadrive.jp/servlet/index.html などを参考にしてTomcatを使い自分で作成したservletやJSPを動作させようとしたのですが 404エラー(存在しないファイル)が排出されるだけで実行できません。 試しに上記のページが提供しているプログラムやweb.xml及びservlet.xml(javaroad.xml)を 配備しましたが404エラーが排出されるだけで動作しません。(編集するたびにTomcatを再起動させています) http://localhost:8080/のトップページとROOTフォルダに上記のサイトのJSPを配備したものは 表示されますのでtomcatは動作していると思いますが、残念ながらどこが間違っているのか検討がつきません。 似たような事例に http://questionbox.jp.msn.com/qa1321207.html?StatusCheck=ON という物を見つけました。 同じように「JSP Examples」と「Servlet Examples」は404エラーが排出されます。 どのようにすれば宜しいのでしょうか、どうかご教授願います。

    • ベストアンサー
    • Java
  • JSPファイルがコンパイルできない!

    雑誌に付いていたtomcat3.2.3用のServlet/JSPを tomcat4.1.10で動かそうとしたら、JSPファイルが コンパイルできないというエラーが出ました。 エラーの内容は、 ------------------------ org.apache.jasper.JasperException: JSPのクラスをコンパイルできません JSPファイル: /*****.jsp の中の行: 1でエラーが発生しました 生成されたサーブレットのエラーです: [javac] Compiling 1 source file C:\Program Files\Apache Group\Tomcat 4.1\work\Standalone\localhost\*****\*****_jsp.java:43: シンボルを解決できません。 シンボル: クラス ○○ 場所 : org.apache.jsp.*****_jsp の クラス ***** ***** = (*****)request.getAttribute("*****"); ^ -------------------------- といった感じです。 tomcat3.2.3ではちゃんと動いたのですが、 4.1.10では他に何かしなければいけないのでしょうか。 よろしくお願いします。

  • JSPファイルのヘッダー部分に画像表示するには?

    調べても情報が見つからないため質問します 開発環境 Tomcatの現状のバージョン:Apache Tomcat/7.0.30 インストールされたServletの現状バージョン:3.0 インストールされたJSPの現状バージョン: 2.1 ServletとJSPを使ってJSPのヘッダーに画像を表示させたいんですがEclipse3.7内蔵ブラウザでは表示出来るのにIEなどのブラウザでは表示してくれないんです。 困ってる部分のヘッダーのソースだけ載せます <IMG src="D:\wokespace\mvcExample\WebContent\view\img/logo.jpg"> 絶対指定の画像をしているので表示するはずなんですが・・・ 何故でしょうか? 御指導御鞭撻ほどお願いします。

    • ベストアンサー
    • Java
  • Fedora9のJavaのファイル

    こんにちは、初めて質問します。 Fedora9にTomcatをインストールしようと思い、既存の(Fedora9インストール時のデフォルトで)Tomcat関連でインストールされているものを確認しようと思い下記のコマンドを実行しましたところ # rpm -qa | grep tomcat tomcat5-servlet-2.4-api-5.5.27-0jpp.2.fc9.i386 tomcat5-jsp-2.0-api-5.5.27-0jpp.2.fc9.i386 とパッケージが2個入っていました。 この2つのファイルは サーブレットとJSPのAPIを提供するファイルの様に見えますが なぜTomcatが入っていないのに上記APIのRPMだけインストール されているのでしょうか? どなたか、ご存知の方がいらしましたら、教えて頂けると幸いです。

  • JSPのページが表示されません

    初めまして。 JSPについて質問があります。 現在OSはRedHatLinux7.2で、JDK、Tomcat、Pathの環境変数の設定を行ない、Tomcatを起動させ、Servletの動作("Hello World!"という文字列を表示するのみ)を確認した段階です。Servletの動作の際にTomcatをインストールした直下のconfディレクトリ内のserver.xmlに以下のスクリプトを追加しました。 <Context path="/test"    docBase="webapps/test" crossContext="false" debug="0" reloadable="true" > </Context> Servletに関しては上記の設定とTomcatとPCの再起動で動作を確認できたのですが、JSPの方は[Internal Error: 500 Servlet Error]が出て表示されませんでした。 ちなみにJSPファイルの位置はtestディレクトリ直下のjspディレクトリ内にあります。 ・hello.jspのスクリプト <%@page contentType="text/html;charset=euc-jp" %> <html> <head> <title>JSPTEST</title> </head> <body> <% out.println("HELLO WORLD!"); %> </body> </html> ・JSPファイルを表示するアドレス http://localhost:8080/test/jsp/hello.jsp ここで質問なのですが、JSPに関しても何か設定が必要なのでしょうか? もし何か分かることがありましたら、ご教授御願い致します。

    • ベストアンサー
    • Java
  • Tomcatでプログラムが動きません

    開発環境: Windows Vista SP2 Home java 2 SDK 1.6.0_24 Tomcat 6.0 です。 現在javaのservletとJSPをtomcatで勉強している者です。 http://journal.mycom.co.jp/special/2007/struts2/menu.html http://codezine.jp/article/detail/2296 を参考にしてTomcatを使い自分で作成したservletやJSPを動作させようとしたのですが 404エラー(存在しないファイル)が排出されるだけで実行できません。 上記のページが提供しているプログラムやweb.xml及びservlet.xml(javaroad.xml)を 配備しましたが404エラーが排出されるだけで動作しません。(編集するたびにTomcatを再起動させています) http://localhost:8080/のトップページは表示されますのでtomcatは動作していると思いますが、残念ながらどこが間違っているのか検討がつきません。 Tomcat Webアプリケーションマネージャで表示はされ、起動しようとするとアプリケーションが起動できませんと表示されます どのようにすれば宜しいのでしょうか、どうかご教授願います。

  • エクセルファイルのダウンロード

    cgiにてブラウザ上のボタンを押すと、xlsファイルをダウンロードさせたいのですが、ブラウザ上でいきなり開いてしまいます。他のPCで同じ動作をテストしてみたところ、いきなりxlsのファイルが開かずに、開くか保存かのダイアアログが出ます(正常)。ファイルをいきなり開かずに、保存させたいのですが何か設定が必要なのでしょうか。 OS:win2000 ブラウザ:IE6 office2000です。どなたかご教授いただければ有難いです。

  • 画面が遷移しない

    jspからservletへ画面を遷移させようとしているのですが リンクをクリックするとurlは変更されず「名前を付けて保存する」と表示され servletのファイルを保存しようとします。 なにかわかる方がおられますでしょうか よろしくお願いします

  • Tomcatインストール時に付属してあるexampleのJSPについて

    はじめまして。 JSPについて質問があります。 Tomcatインストール時に付属してあるデフォルトページのexampleのServletについては実行できたのですが、exampleのjspについては実行できず、ブラウザにエラーが表示されました。 エラー内容: ------------------------------ Error: 500 Location: /examples/jsp/num/numguess.jsp Internal Servlet Error: javax.servlet.ServletException: sun/tools/javac/Main (以下略) ------------------------------ ちなみに自分で作成したJSPファイルも実行できず、exampleのjspと全く同じ内容のエラー内容がブラウザに表示されました。 ちなみに開発環境は RedHatLinux7.2 Java2 SDK 1.3.0 Jakarata Tomcat 3.2.4 で、 環境変数は JAVA_HOME=/usr/java/jdk1.3.0_02 TOMCAT_HOME=/usr/src/jakarta/tomcat PATH=$PATH:$JAVA_HOME/bin CLASSPATH=.:/usr/java/jdk1.3.0_02/lib/tools.jar:$TOMCAT_HOME/lib/servlet.jar です。 クラスパスには、JDKのコンパイラ、サーブレットのコンパイラを設定しているのですが、設定に何か足りないのでしょうか? 大変困っています。 もし、何か分かる事がありましたら、ご教授御願い致します。

    • ベストアンサー
    • Java
このQ&Aのポイント
  • マッチングアプリで県が違う2歳上の女性とやり取りしていますが、最近返信がなくなりました。
  • 電話で話す機会もあったし、急な予定変更もあったけど、最後の返信から何日も経っているので心配です。
  • マッチングアプリでのトーク経験はあるけど、こんなに気になったのは初めてでどう対処すればいいか分かりません。
回答を見る

専門家に質問してみよう