※ ChatGPTを利用し、要約された質問です(原文:VBクライアントからのサーバーファイルダウンロード)
VBクライアントからのサーバーファイルダウンロードの方法と問題点
このQ&Aのポイント
サーバーファイルをVBクライアントからダウンロードし、Acrobatで開く方法について困っています。
現在はサーバー側でダウンロードのページを用意し、クライアント側でページを開くことでファイルのダウンロードとAcrobatの動作はできていますが、ブラウザの画面を閉じることができない問題があります。
さらに、ダウンロード後に表示されるサイトのURLを非表示にする方法はないか悩んでいます。
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)
よいアドバイスございましたらよろしくお願い致します。
お礼
sam_inoue さん、 早速の回答ありがとうございました。 私、VBもASPも初心者級なので、少々、理解のために時間が必要な様子です。 しかし、私もExcelは大好きなこともあり、一目でとてもすばらしい内容で感激です。 まずは勉強させて頂きます。