• 締切済み

VB2005で「ファイルのダウンロード」のダイアログをVBで操作したい。

初歩的な質問だとは思いますが、どうか回答お願いします。 VB2005でwebからファイルを自動でダウンロードするアプリ を作ろうとしています。 http://www.hogehoge.com/hogehoge.jpg からのダウンロードの仕方は Dim wc As New System.Net.WebClient() wc.DownloadFile("http://www.hogehoge.com/hogehoge.jpg", "c:\hogehoge.gif") でうまくいくのですが、 http://www.hoge.com/code=xxxx/download のようなURLの場合は上記の方法ではうまくいきませんでした。 そこで webbrowser1.navigate("http://www.hoge.com/code=xxxx/download ") を実行後「ファイルのオダウンロード」のダイアログが 表示されるので、VBからそのダイアログを操作して ファイルを保存しようと思いましたが、やり方が全然思いつきませんでした(T△T) どのようにすればよいかご教授ください。 よろしくお願いしますm(_ _)m

みんなの回答

  • SUPER-NEO
  • ベストアンサー率38% (706/1857)
回答No.2

#1です。 実際のファイルが直接ダウンロードできない、 ということですと、それが原因だと思いますね。 IISなどの設定でアクセス権限を許可しないといけません。 プログラムでの解決はその次だと思いますよ。

  • SUPER-NEO
  • ベストアンサー率38% (706/1857)
回答No.1

HttpWebRequest、HttpWebResponseを使って解決するといいですよ。 WEBサーバーへHTTPのリクエストを投げて、その結果を受け取る、 というものです。

kabuo99
質問者

お礼

返信が遅れてしまい申し訳ありません。 SUPER-NEOさん、回答ありがとうございました。 HttpWebRequest、HttpWebResponseをつかって見ましたが 、 うまくいきませんでした。(wc.DownloadFileをつかったときと同じ結果になりました。) 結果:HTMLファイルがDLされました。 参考URL:http://dobon.net/vb/dotnet/internet/webrequestsavefile.html 処理を追っていくと、どうもリクエストを投げるサーバと ファイルが置いてあるサーバは別のようでした。 例)リクエスト先 http://www.hoge.com/code=xxxx/download   実際ファイルが置いてある場所 http://test1.hoge.com:8081/xxxx.zip wc.DownloadFile("http://test1.hoge.com:8081/xxxx.zip")のように 直接指定してみましたが、権限の問題なのかダメでした。 (HTMLファイルがDLされました。) ん~やっぱりダイアログをsendkeyか何かで操作する しかないのでしょうか?

関連するQ&A