- 締切済み
FTP転送
VB6.0でマイクロソフト・インターネット・トランスファ ・コントロールを使ってFTP転送をしたいのですが。送信 モードの指定(ASCIIかBINARY)はどのようにして設定す ればよいのでしょうか?FTP転送はStateChangedメソッド をつかっています。アドバイス宜しくお願いします。
- みんなの回答 (2)
- 専門家の回答
みんなの回答
- TAGOSAKU7
- ベストアンサー率65% (276/422)
レスがないので勝手にサンプルです。 現状の接続方法やASCIIでの取得方法がわからないので、Executeを使用してます。 どうやらOpenURLからやる方法もあるみたいだけど、もしUNIXコマンドを知ってるなら、こっちの方がわかりやすいと思います。僕自身UNIXは詳しくないのですが・・・でも最低限の命令後は学習しました。 FTPソフトを作成するにはUNIXの最低限の命令後の知識は必要だと思います。 Option Explicit Private gFileLng As Integer Private Sub Command1_Click() Const URL = "ftp://USERNAME:PASSWORD@ftp.Microxxt.com/test1.gif" gFileLng = FreeFile Open "C:\A.GIF" For Binary As #gFileLng With Inet1 .Execute URL, "GET" End With End Sub Private Sub Inet1_StateChanged(ByVal State As Integer) Dim bytAry() As Byte Select Case State Case icResponseCompleted bytAry = Inet1.GetChunk(1024, icByteArray) Do Put #gFileLng, , bytAry DoEvents bytAry = Inet1.GetChunk(1024, icByteArray) If UBound(bytAry) < 0 Then Exit Do Loop Close #gFileLng MsgBox "受信完了" End Select End Sub
- TAGOSAKU7
- ベストアンサー率65% (276/422)
Inet未経験者ですが・・・ アスキー/バイナリの切り替えはフラグではないようです。 データ自信をアスキーで扱うかバイナリで扱うかであって、その扱い方を切り替えなえなければいけないみたいです。 よくファイルの読み取りの時、 Open "FileNeme1" For Input As #1 と Open "FileNeme1" For Binary As #1 というのがありますよね? それと同じイメージでデータをバイナリで開いてそれを送信するようなイメージです。 ちょっと検証してみたいので、 接続 現在できているアスキーモードでの転送 部分のコードを見せてもらえませんか?