プロが教える店舗&オフィスのセキュリティ対策術

WINDOWS2000、VB6.0、SP5で開発しています。

FTPサーバからファイルをダウンロードするやり方がわからなくて、困っています。

例えば、コマンドボタンを押した時に、指定したファイルをダウンロードしたいのです。

色々と調べてみたのところ、Winsockコントロールを使うとできるかもしれない、
というところまでは分かったのですが、そこからさっぱりです。
今日一日、調べていますがわかりません。
どうか、先輩方のアドバイス、よろしくお願いしますm(_ _)m

A 回答 (3件)

こんにちは。




ルータとか使ってますか?
どういう環境でどの程度の事がしたいのか分らないので、
以下のURLにあるサンプルを見てみてください。

■WININET
 FTPクライアント (WININET使用)
 http://www.mitene.or.jp/~sugisita/vb6_net.html
トップページはこちら。
■PAPA'n VB (ぱぱんぶぃびぃ) - HOME
 http://www.mitene.or.jp/~sugisita/

■その他
 http://oshiete1.goo.ne.jp/kotaeru.php3?q=229365


それでは。
    • good
    • 0

こんにちは。




どの程度の事をやりたいのでしょうか?
ちょっとしたものなら、こんな感じでどうでしょうか。
どうしてもWinsockがいいというのであれば他の方のアドバイスを待ってください。(汗

'インターネット トランスファ (Inet) コントロールを使用

Private Sub Command1_Click()

'ダウンロードしたファイルのデータ(バイト配列)
Dim BinFile() As Byte
'ネット上のファイルパス(URL)
Dim StrURL As String
'ローカルのファイルパス&名前
Dim StrPath As String

'一応、両方コメント化してある。
'StrURL = "ftp://*****.jp/****.zip"
'StrURL = Text1.text
StrPath = "c:\temp.zip"

'バイト配列へ入れる
BinFile() = Inet1.OpenURL(StrURL, icByteArray)

'ファイルに書き出す
Open StrPath For Binary Access Write As #1
Put #1, , BinFile()
Close #1

End Sub

ただ、これだとNAT化でのPASVモードでのFTPは出来なかったような気もします。


それでは。

この回答への補足

詳しく書いていただきありがとうございます!!
早速試してみたところ、FTPサーバにある、
TEST.ZIP(StrURL = "ftp://*****.jp/****.zip")
ローカルのフォルダ(StrPath = "c:\temp.zip")に
ダウンロードしてみたのですが、結果、
ローカルのフォルダにTEST.ZIPという要領0のファイルが出来るだけでした。
やりたいことは、ほんとに単純に、クリックしたら、
そのクリックした部分に対応するファイルをDLする。
というだけなので、GX71さんの方法で出来そうなのですけど…。
すみません、よろしくお願いしますm(_ _)m

補足日時:2005/05/11 11:06
    • good
    • 0

過去ログを検索



検索キー:FTP
このカテゴリーから検索

で代表的な方法が見つかります。

# Winsockは原始的なのでお勧めできない。

この回答への補足

Winsockはおすすめできないという貴重な意見ありがとうございました。
この教えてGooでもいろいろと検索してみたのですが、わかりませんでした。

補足日時:2005/05/11 11:06
    • good
    • 0

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