- ベストアンサー
XMLファイルのダウンロード
こんばんは~ もしご存知でしたら教えていただきたいことがあります。 XMLファイルがサーバにあるとして、それってローカル(クライアント)に普通にダウンロードってできるものなんでしょうか??? JavaのServletを使って実装しているんですけど、javaファイルやCSVファイルのダウンロードはできるのにXMLファイルのダウンロードができません。 普通は保存とかキャンセルとかのボタンを押せるダイアログが出ますよね? でもXMLファイルだけはWEBブラウザに「XMLを表示できません」とでます。 XMLファイルってサーバーからクライアントにそのままダウンロードできないものなんですか??? 意味不明な点は補足させていただきますので、宜しくお願いします。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
#2です。 もう少し正確に書くと、ブラウザによるのは、HTTPの場合です。 ですから、XMLへのリンクをftpにしておけば、多分うまくいきます。 (もちろん、XMLファイルは、FTPサーバーになければなりません。) ただその場合、ftpサーバーを公開する必要がありますし、 公開しながら書き込みを禁止にできるのかなどの問題があります。 残念ながら、私はその辺は詳しくないのでお答えはできません。 他には、ダウンロードした後に拡張子を変えるとかですかねえ。
その他の回答 (2)
- ngsvx
- ベストアンサー率49% (157/315)
>できればですねファイルの中身を一回表示させて自分で保存させるのではなく、ファイルのダウンロードというダイアログを出したいんです。 この話は、XMLだからというより、使用するブラウザがXMLをどう扱っているかによります。 最近のIEでは、XMLは表示しようとしますから、ダイアログは出せないでしょう。 (HTMLの場合と同じです) できるとすれば、右クリックで「対象をファイルに保存(A)」をするぐらいだと思います。
お礼
書き込みありがとうございます! うむむ、やはり無理なんですかね。 ちょっとショックです。 使用するブラウザがXMLをどう扱うか、ということがポイントということなので、もう少し自分でも調べてみようと思います。 有益な情報ありがとうございました!!
- hime_mama
- ベストアンサー率32% (1542/4716)
ページのソースをメモ帳やノートパッドに表示させて、そこから名前をつけて保存にしても出来ませんか?
補足
朝早くの書き込みありがとうございます。 うーん、できればですねファイルの中身を一回表示させて自分で保存させるのではなく、ファイルのダウンロードというダイアログを出したいんです。 クライアントがWEBブラウザを使ってサーバーにあるXMLファイルを選び、ダウンロードというボタン押下で、ファイルのダウンロードというダイアログ(開く・保存・キャンセル・詳細情報のボタンがついてるやつ)を出したいんです。 CSVや普通のJavaファイルはクリアできたのですが、XMLファイルだけがなぜかできません。 ネットで検索してもなかなか私が探している情報にヒットしないんですよ。 あんまりプログラムに詳しくないので「XMLファイルだけそういうことってできないのかな?」と思って質問させていただきました。
お礼
二度の書き込みありがとうございます。 そして返事がめちゃくちゃ遅くなって申し訳ありませんでした。 えっと解決しました。 response.setContentType("application/octet-stream"); response.setHeader("Content-Disposition","attachment; filename=\"" + new String("○○○.xml".getBytes("Shift_JIS"),"ISO8859_1") + "\""); と設定してあげたら、xmlファイルでもダイアログが出るようになりました。 お忙しい中、ご回答くださりありがとうございました。