• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:ファイルダウンロードの開くで、CSVファイルが開けない)

CSVファイルの開くボタンをクリックした際にエラーが発生する

tasekiの回答

  • taseki
  • ベストアンサー率66% (155/233)
回答No.6

ANo.5のコードを試していただいたのは、原因を絞るためで、つまりサーバー側、クライアント側のどちらに原因があるのかを限定するためのものでしたが、その結果を見る限り、どうやらクライアント側に原因があるようですね。 > ということは、OS,IEなどにより動作がことなるということなのでしょうか? 私が試したところ、WinXP、98、ME、IE5.5、IE6、すべて問題ありませんでした。 なので、そのテストした環境だけの問題なような気がします。 直接的な原因は、キャッシュ保存されていないことが原因です。 見ていないので勘でしかありませんが、単にブラウザの設定によるだけに思えます。 Cache-Controlのno-cacheというのは「キャッシュ保存するな」という指定ですので消したのですが、消したにも関わらず、何らの理由でキャッシュ保存されていないようです。 そうなるとブラウザ設定のほうでキャッシュ保存しないようになっているのでは。 たとえば、IEの設定で、インターネット一時ファイルを「自動的に確認する」に設定、あるいはディスク領域が足りているかどうか、など。 また、同じマシンで別のブラウザでも試されると、より原因が絞られると思います。 あと、成功したWin2000のほうのIEの設定と比べてみる、など。

ks3662
質問者

お礼

色々お教えいただきありがとうございました。 各種設定確認しまして、ご指摘の件に関しては 特におかしな点がみつかりませんでした。 更に探求を進めてみようと考えています。 ASPでの開発がまだ続きますので、また何かありましたら宜しくお願い致します。 この度は色々お世話になりました。ありがとうございました。

関連するQ&A

  • VBクライアントからのサーバーファイルダウンロード

    ファイルをダウンロードするシステム構築で困っております。 サーバーに保存しているPDFファイルをクライアントからダウンロード し、Acrobatで開きたいのですが、ログオンやアプリケーション上での 権限認証のロジックを経由した後にダウンロードさせたいため、http やftpで公開することができません。 また、VB 6.0から開く必要があります。 現在は、 ・サーバー(ASP)側でダウンロードのページを用意する。(後述) ・クライアント(VB6)で用意したページを開く。 ということでファイルのダウンロードとAcrobatの動作はできていますが、 ・ブラウザの画面を閉じることができない。 ・サイトのURLが残る。 ということで問題があります。 サイトのURLを表示せずにダウンロードを行い、ダウンロード後は画面を 閉じるか、ウインドウを表示せずに同一の機能を満たす方法はないでしょ うか? ■実行環境 サーバー Win 2003 SP1 + ASP クライアント Win XP SP2 + VB 6.0 + Internet Explore 6.0 ■サーバーのスクリプト(http://server/download.asp) <% '' ログオン名の取得やログオン名に応じたアクセス制御 '' はこの部分に追加 Dim objStream Dim strFilePath Const adTypeBinary = 1 Set objStream = Server.CreateObject("ADODB.Stream") objStream.Open strFilePath = "d:\folder\pdffile.pdf" Response.AddHeader "Content-Disposition", _ "attachment; filename=pdffile.pdf" objStream.Type = adTypeBinary objStream.LoadFromFile strFilePath Response.BinaryWrite objStream.Read objStream = null %> ■VB6での起動 ret = ShellExecute(hwnd, "Open", "http://server/download.asp", _ "", "", vbHide) よいアドバイスございましたらよろしくお願い致します。

  • ASPでバイナリーファイルをダウンロードさせるには?

    ASPでファイルをダウンロードするスクリプトで、以下の様な例がMicrosoftのページに 掲載されているのですが、 <% 'Set the content type to the specific type that you are sending. Response.ContentType = "application/x-msexcel" Const adTypeBinary = 1 Dim strFilePath strFilePath = "C:\ExcelFiles\Excel1.xls" 'This is the path to the file on disk. Set objStream = Server.CreateObject("ADODB.Stream") objStream.Open objStream.Type = adTypeBinary objStream.LoadFromFile strFilePath Response.BinaryWrite objStream.Read objStream.Close Set objStream = Nothing %> 上記の中の"strFilePath "の部分を、サーバーローカルのハードディスク以外に 出来る方法というのはあるのでしょうか? サーバーのオブジェクトとして、 Set objStream = Server.CreateObject("ADODB.Stream") をセットしているので、この方法では無理だとは思うのですが、同じようにバイナリー ファイル(特に有名なアプリケーションに関連付けされてしまっている拡張子を持つ もの)をダウンロードダイアログを表示して、スクリプトのあるサーバー以外のサーバー 上にあるファイルを明示的にダウンロードできるようにしたいのですが。。。

  • 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 -----------------------------------------------

  • ASPからファイルダウンロード

    Win2k+IISでASPプログラムを組んでいます。 A.aspのページでボタンを押すとA.aspないのDownLoad関数実行してファイルをダウンロードするプログラムです。 一回目はうまくダウンロードできますが,それが終わった後A.asp内のボタンを押してもダウンロードが出来ません。 これはなぜでしょうか。 (1)怪しいと思うところはA.aspページで全て処理しているからかな~と思います。 A.asp function download() Response.AddHeader "Content- Disposition","attachment;filename=aa.csv" Response.ContentType = "application/octet-stream" Response.Write( "AAAAaaa" & "," ) Response.Write( "BBBaaa" & "," ) Response.End() End function

  • CSVダウンロードでウィンドウが出たままに

     親画面から子画面を表示させ、その子画面から、CSVダウンロードをさせることをやろうとしています。 下記のようなASPを子画面から呼んだところ、ダウンロードには成功しましたが、windowsXPではダウンロードのASPは閉じてくれるのですが、windows2000ではダウンロードのASPは表示されたまま(空白のウィンドウ)になってしまいました。 子画面ではJavaScriptでwindow.open("DL.asp","XXXX") とやっています。 -DL.asp-------------------------- Response.AddHeader "Content-Disposition", "attachment; filename=XXXX.csv" Response.ContentType = "application/octet-stream-dummy" Response.write "xxxx" Response.End --------------------------------- できれば、ダウンロード終了後には空白のウィンドウがでないようにしたいのですが、どうにかできないでしょうか。。。 どうにか対処できないでしょうか・・・

  • 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」でもだめでした。 何かよい知恵をお貸しください。

  • ファイルのストーリーム配布時のファイルサイズ

    IIS6.0 IE6or7 ASP(vbScript) こんにちは。よろしくお願いします. エクセルやワードファイルを直接URLで叩くと ブラウザの中で開いてしまいます. それを避けるために下記のようにしてファイルをストリームとして渡すようにし、問題を回避しようとしました. しかし、ファイルサイズが小さい場合は問題なくDLできるのですが、 1Mを越えたあたりから一瞬でエラー画面になりDLできず、困っています. IISの設定なのか、よくわかりません。 下記以外の方法でも構いませんので、解決方法等ありましたら 御教示願います. Response.AddHeader "Content-Disposition" , " attachment; ilename=" & FileName Response.ContentType = "application/octet-stream;name=" & FileName Set obj = CreateObject("ADODB.Stream") obj.Open obj.Type = 1 obj.LoadFromFile("フォルダパス" & "\" & FileName) Response.BinaryWrite obj.Read() obj.Close

  • CSVファイルダウンロードダイアログのキャンセルイベント取得方法

    こんにちは。 色々調べてみましたが、なぜかどこにも答えが見つかりませんでしたのでご教授よろしくお願いします。 ASPでCSVファイルをダウンロードする際、 Response.AddHeader "Content-Disposition","attachment; filename=AAA.csv;" としてダウンロードダイアログを出力しています。 このダイアログで、キャンセルボタンのクリックイベントと取りたいのですが、どのようにするのでしょうか? キャンセルした場合、以降に続くサーバサイドの処理をスキップさせたいのですが… よろしくお願いします!

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

    こんにちは CSVファイルをダウンロードさせるページを作成 しています。 しかし、ファイル名がaspファイルになってしまいます。 いろいろ調べてみたのですが、原因がつかめなかったので解決策を教えて下さい。 ソースは下記の通りです。 ================================ <% @Language="VBScript" %> <HTML> <HEAD> <TITLE>CSV出力</TITLE> </HEAD> <BODY> <% 'CSV出力 Response.ContentType = "application/octet-stream" Response.AddHeader "Content-Disposition","attachment; filename=test.csv" Response.write Session.Contents("USER_NO") & "," Response.write Session.Contents("SS_BUCD") & "," Response.writeline Session.Abandon Response.End %> 【メッセージを記入予定】 </BODY> </HTML> ================================ HTMLが含まれているのが問題なのでしょうか? しかし、HTMLを取り除いても現象が変わりませんでした。 よろしくお願い致します。

  • csv形式でダウンロードさせたいのですが。

    はじめまして。 今回、JSPでデータベースからもってきた情報をcsvでダウンロードさせる仕組をかんがえているのですが、まずは簡単にダウンロードできるのか試しているのですが、ダウンロードまではできたのですが、中身がjspのファイルのコードがそのまま表示されてしまいます。 初心者なので、是非アドバイスをお願いしたいです。 よろしくお願いします。 以下そのコードです。 <%@ page import="java.io.*, java.util.*, java.sql.*, javax.sql.*, javax.naming.*" %> <html> <head> </head> <body> <% response.setContentType("application/octet-stream"); response.addHeader("Content-Disposition","attachment; filename=kibou.csv"); out.println("a,b,c,d"); %> </body> </html>