プロが教えるわが家の防犯対策術!

ファイルをダウンロードするシステム構築で困っております。
サーバーに保存している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)

よいアドバイスございましたらよろしくお願い致します。

A 回答 (1件)

ここにExcelVBAでサーバにあるCSVファイルをダウンロードさせるサンプルがあります。


CSVファイルのURLを指定してブラウザを起動せずにダウンロードする部分は利用できると思います。
バイナリ取得なのでファイルのタイプには依存しません。
    • good
    • 0
この回答へのお礼

sam_inoue さん、
早速の回答ありがとうございました。
私、VBもASPも初心者級なので、少々、理解のために時間が必要な様子です。
しかし、私もExcelは大好きなこともあり、一目でとてもすばらしい内容で感激です。
まずは勉強させて頂きます。

お礼日時:2005/09/08 00:25

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!