• ベストアンサー

異なる2つのファイルを同時にダウンロードする方法

1つのリクエストに対して、Webサーバーから2つの異なるファイルをダウンロードさせる方法をご存知ないでしょうか? 通常では1つのリクエストに対して1つのレスポンスになるので、2つのファイルを同時あるいは続けてダウンロードさせることが出来ません。 未熟者故にそんなことが可能かどうかも判断できずに困っております。 何方かお知恵をお貸しください。 よろしくお願いいたします。

  • HTML
  • 回答数2
  • ありがとう数3

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

  • ベストアンサー
  • a-kuma
  • ベストアンサー率50% (1122/2211)
回答No.2

> 教えていただいたようにJavaScriptを使って、1アクションで > 2つのリクエストを出そうとしたのですが、普通に連続して > リクエストを出すと後に出したリクエストが優先されて、レスが > 1つ返ってくるようです。 差し支えは全くないんですが、スマートじゃないですよお。 別のウィンドウを開いちゃうんです、open で。そうすれば、ブランクのウィンドウが 開いて、レスポンスが返ってくると、ファイル保存のダイアログが開きます。 別に二つ開かなくても、ひとつは、自分のウィンドウでも良いかもしれません。 # ダウンロードが終わっても、ウィンドウが閉じない (^^;

jack0616
質問者

お礼

早速の回答ありがとうございます。 確かに仰るとおりできますね。スマートではないでしょうが・・・ とりあえずやってみます。

その他の回答 (1)

  • a-kuma
  • ベストアンサー率50% (1122/2211)
回答No.1

ちょっと難しいかも。 まず、ブラウザとサーバは HTTP というプロトコルで会話をしているのですが、 こいつは、ひとつのリクエストに対して、ひとつの応答しか返しません。 そのひとつの応答の中に、複数のファイルを入れることは MIME という手段が あるので、技術的にできないわけではないんですが、それに対応したブラウザ があるか(*)、という問題になります。   (*) ひとつの応答の中に MIME フォーマットで複数のファイルを入れ込むのは     CGI などを使えば、普通のサーバでもできます。 残念ながら、私は、こういったブラウザを知りません。 CGI を使っても良いのであれば、複数のファイルを tar や lha でひとつの ファイルにまとめて、それを応答として返すような CGI を書いて、ひとつの ファイルとしてダウンロードして、それをクライアント側でアーカイバーソフト を使って、複数のファイルにばらす、という方法はあります。 後は、JavaScript を使って、1アクションで2つのリクエストを出して、 見かけ上、ひとつのリクエストに見せる、という方法もありますね。 # どちらも、スマートなやり方ではないですね (^^;

jack0616
質問者

お礼

ありがとうございます。 参考になります。圧縮ファイルにする方法は私も思いついたのですが 今作ろうとしているものでは、いろいろと問題があり手法としては 使うことはできません。 とりあえず、教えていただいたようにJavaScriptを利用する方法を 試してみようと思います。

jack0616
質問者

補足

お世話になります。 教えていただいたようにJavaScriptを使って、1アクションで 2つのリクエストを出そうとしたのですが、普通に連続して リクエストを出すと後に出したリクエストが優先されて、レスが 1つ返ってくるようです。 差し支えなければ、例をあげてやり方を教えて頂けないでしょうか? あつかましいお願いで申し訳ありません。ほんとに困ってます。

関連するQ&A

  • ASPでCSVファイルを作成しダウンロードさせる

    ASPファイルで、動的にCSVファイルを作成し、クライアントにダウンロードさせたいのですが、実際には、ファイルは作成せずに、ASPで直接、CSVフォーマットのファイルをダウンロードさせているように振舞わせることはできないでしょうか? 手順 クライアント        サーバー あるURL(A.ASP)にアクセス              A.ASPのスクリプトでCSVフォーマットを作成              クライアントに送信(多分、Response.Writeで) ダウンロードダイアログが開く 「A.CSVをダウンロードしますか?」 のような感じ ダウンロード、またはExcelが開く というようなイメージです。 CSVファイルを作ってしまうと、複数のユーザーからほぼ同時に要求があった場合、望むCSVにならない可能性があり、また、毎回ファイル名を変えると、Webサーバー上にCSVファイルが沢山できてしまうため、何とかこの方法でやりたいのですが、何かよい方法はありませんでしょうか? ちなみに次のようなASPファイルをしてみましたが、うまくいきません。 <% Response.Content-Type="application/vnd.ms-excel" Response.Write "1,2" & vbNewLine Response.Write "3,4" & vbNewLine %> また、「vnd.ms-excel」を「oct-stream」でもだめでした。 何かよい知恵をお貸しください。

  • CSVファイルのダウンロードについて

    サーバー上にアップしたcsvファイルにアクセスすると ダウンロードの確認ダイアログが出ずに 画面上にテキストベースで表示されてしまいます。 フォルダオプションの設定で ダウンロード後に開くを確認するのチェックボックスを チェックしましたがうまくいきません。 宜しくお願いします。 ※Webサーバー・・・JRUN4 <-- sample.jsp --> <% response.setContentType("application/octet-stream-dummy; charset=iso-2022-jp"); %> <% response.setHeader("Content-Disposition","inline; filename=aaa.csv"); %> top.location.href=~aaa.csv ← ファイルのフルパス

    • ベストアンサー
    • Java
  • ファイルを第三者にダウンロードさせたい

    手持ちのデータ(ZIP、AVI等)を他人にダウンロードさせたいのですが、方法がわかりません。 具体的には、 1、メールやweb上でこちらの指定のアドレスを踏んでもらう、もしくは右クリックーファイルをダウンロードを選んでもらう。 2、ファイルのダウンロードのダイアログがポップアップする。(この際パスワードを設定できるとなお良い) と、いったような事をしたいのですが、方法がわかりません。 イメージとしてはサーバーを借りてそこにファイルをおいてアクセスしてもらうのだろうとは思うのですが、そのようなサーバを貸しているサービスを利用すれば良いのでしょうか?

  • CSVファイルのダウンロードができたりできなかったり・・

    ASPで、サーバー側で動的に作成したCSVファイルをクライアント側にダウンロードさせたいと思っていますが、 ダウンロードできるときとできないときがあり困っています。 「ファイルのダウンロード」ダイアログが表示され、うまくダウンロードできるときと、 「Internet Explorer では、[サイト名]-[aspファイル名]をダウンロードできません。このインターネットのサイトを開くことができませんでした。要求されたサイトがしようできないか、見つけることができません。後でやり直してください。」のメッセージが表示され、ダウンロードできない場合があります。 どちらもサーバー上にダウンロードすべきCSVファイルは作成されているので、ダウンロード部分に問題があると思うのですが、原因がわかりません。 ひとつ気づいたのが、csvファイルの容量が4.0MBを超えるとダウンロードできないような気がするのですが、関係ありますでしょうか? よろしくお願い致します。 --------出力のためのスクリプト----------------- Response.ContentType = "application/octet-stream" Response.AddHeader "Content-Disposition", "attachment; filename = " & CSVファイル名 Set fs = Server.CreateObject("Scripting.FileSystemObject") CSV_DATA = Server.MapPath(CSVファイル名) If fs.FileExists(CSV_DATA) Then Set ts = fs.OpenTextFile(CSV_DATA, 1) Do Until ts.AtEndOfStream Response.Write ts.ReadLine() & vbCrLf Loop ts.Close End If Response.End -----------------------------------------------

  • Javaのファイルダウンロードについて

    Javaでファイルのダウンロード機能を作成しています。 環境はWebサーバにapache、APサーバにGlassfish、連携としてmod_jk、あとはJava6を使用しています。 InpusStreamでファイルパスから取得しresponse.getOutputStream()に書き込む処理writeにて org.apache.catalina.connector.ClientAbortExceptionが発生してしまいます。 その際にダウンロードのポップアップ(開く、保存、キャンセル)が開きますがExceptionが発生しているため保存できません。 ただしファイルのサイズによっては正常に保存できます。(ファイルサイズが500Mくらいだとダメ) なお、ClientAbortExceptionはキャンセル押したときに発生すると思われますがそのほかにどのような場合に発生するのでしょうか? また、対処方法を知っていましたらご教授ください。

  • 直接URLによる、ファイルのダウンロード防止方法

    普通のWebサーバで音楽ファイル(WMA)を 簡易ストリーミング配信しようと考えています。 ストリーミング方法はHTMLに組み込む方法で HTML上に再生ボタンなど(プレーヤー)が現れるようにして いるのですが、ソースファイル(メタファイルも)等を 見ればWMAファイルの場所がわかりますよね。 このアドレスを直接アクセスした時にダウンロード させないようにする方法はありませんか? (埋め込んだHTMLからしかアクセスさせない方法です) ストリーミング用のサーバ(httpではないもの)で できるようなのですが、httpのサーバで行いたいのです。 もしできるのであれば教えてください。 よろしくお願いします。

  • XMLファイルのダウンロード

    こんばんは~ もしご存知でしたら教えていただきたいことがあります。 XMLファイルがサーバにあるとして、それってローカル(クライアント)に普通にダウンロードってできるものなんでしょうか??? JavaのServletを使って実装しているんですけど、javaファイルやCSVファイルのダウンロードはできるのにXMLファイルのダウンロードができません。 普通は保存とかキャンセルとかのボタンを押せるダイアログが出ますよね? でもXMLファイルだけはWEBブラウザに「XMLを表示できません」とでます。 XMLファイルってサーバーからクライアントにそのままダウンロードできないものなんですか??? 意味不明な点は補足させていただきますので、宜しくお願いします。

    • ベストアンサー
    • XML
  • ファイルダウンロード後のフォワードについて

    サーブレット内で、ファイルのダウンロードをした後に処理をJSPへフォワードしたいのですが、現在、ダウンロードしたあとフォワードしてもJSPが機能しなくて困りました。 コードとしては以下の通りです(一部抜粋ですみません) /* ファイルダウンロードの設定 */ response.setContentType("application/octet-stream; charset=Shift-JIS"); response.setHeader("Content-disposition","attachement; filename= "+sgy_y+sgy_m+"_"+simekbn+".csv"); PrintWriter pw = response.getWriter(); /* CSVファイル出力 */ pw.println("あああ,いいい,ううう,えええ,おおお"); pw.println("かかか,ききき,くくく,けけけ,こここ"); pw.println("さささ,ししし,すすす,せせせ,そそそ"); pw.close(); /* JSPへフォワード */ getServletConfig().getServletContext().getRequestDispatcher("/xxx.jsp").forward(request,response); 何か良いアドバイスがありましたら、宜しくお願いします。

    • ベストアンサー
    • Java
  • ファイルダウンロードの「開く」を使用不可にしたい

    早速質問をさせていただきます。 VisualWebDeveloper2005ExpressEditionでWEBアプリを作成しています。 Wordファイルの雛形にデータを流しこんで、ユーザー側にダウンロードさせようとしております。 ダウンロードダイアログの「開く」ボタンだけを押せないようにする事は可能でしょうか? ご教授よろしくお願い致します。 '//ダウンロード処理 Dim str As String = "attachment;filename=word2003file.doc" Response.AppendHeader("Content-Disposition", str) Response.ContentType = "Application/msword" Response.WriteFile("Wordファイルのパス") Response.Flush() IO.File.Delete("Wordファイルのパス") Response.End()

  • webからファイルがダウンロードできません。

    インターネット上の様々のホームページからファイルがダウンロードできなくなりました。 銀行やカード会社のホームページ上の自分のアカウントから明細書や取引履歴などの pdfファイルやcsvファイルがダウンロードできなくなりました。 セキュリティソフトのアップグレードを実施したタイミングが怪しいので、 サポートに問い合わせましたが解決せず。 セキュリティソフトをアンインストールしてみても改善せず。 また、当初はpdfファイルだけだったのでAdobeReaderもアンインストールし再インストール するなど試しましたが効果はありませんでした。 対処法などご存知の方いらっしゃいましたらお知恵をお貸しください。 症状 Web上のファイルダウンロードのボタン?をクリックすると、 通常は「○○(ファイル名)に対して行う操作を選択してください。」と確認画面がでて ダウンロードに進むのですが、「△△(※)に対して…」との確認画面となり、 開くことも保存することもできません。 別タブ(もしくはポップアップ)で開くものの場合、別タブは開くのですが、 真っ白なままでエラー表示さえ出ません。 ※△△の例 (1) ?JSESSIONID=nLzwPL9Xx4K1cFCc2hTWDvrTVqMpt4kzz0nCFW3TNLGQPnTjJJDF!25701160 (2) statementPDFDownload_do?request_type= (3) DownloadAction_do (4) NBGate 環境 OS:Windows7 ブラウザ:インターネットエクスプローラ9 セキュリティ:カスペルスキインターネットセキュリティ2012

専門家に質問してみよう