Wednesday, October 8, 2008

Create FTP Directory

Public Sub CreateFTPDirectory(ByVal Dir As String)
Try
'Const localFile As String = "C:\myfile.bin"
'Const remoteFile As String = "/pub/myftpfile.bin"

Const username As String = "anonymous"
Const password As String = ""

'1. Create a request: must be in ftp://hostname format,

' not just ftp.myhost.com

Dim URI As String = Dir
Dim ftp As System.Net.FtpWebRequest = _
CType(FtpWebRequest.Create(URI), FtpWebRequest)

'2. Set credentials

ftp.Credentials = New System.Net.NetworkCredential(username, password)

'3. Settings and action

ftp.KeepAlive = False
'we want a binary transfer, not textual data

ftp.UseBinary = False
'Define the action required (in this case, make a directory)

ftp.Method = System.Net.WebRequestMethods.Ftp.MakeDirectory



'4. If we were using a method that uploads data e.g. UploadFile

' we would open the ftp.GetRequestStream here an send the data

'ftp.GetRequestStream()

'5. Get the response to the Ftp request and the associated stream

Using response As System.Net.FtpWebResponse = _
CType(ftp.GetResponse, System.Net.FtpWebResponse)
'MsgBox("Response: " & response.StatusDescription)

'Using responseStream As IO.Stream = response.GetResponseStream
' 'loop to read & write to file

' Using fs As New IO.FileStream(localFile, IO.FileMode.Create)
' Dim buffer(2047) As Byte
' Dim read As Integer = 0
' Do
' read = responseStream.Read(buffer, 0, buffer.Length)
' fs.Write(buffer, 0, read)
' Loop Until read = 0 'see Note(1)

' responseStream.Close()
' fs.Flush()
' fs.Close()
' End Using
' responseStream.Close()
'End Using
response.Close()
End Using
Catch ex As Exception
MsgBox(ex.Message.ToString())
End Try


End Sub

No comments: