quinta-feira, 4 de fevereiro de 2016

Fazer upload de arquivo via FTP com VB.Net

Imports System.Net.Mail
Imports System.Net
Imports System.IO
Public Sub EnviaFtp(ByVal Arquivo As String, ByVal SiteFTp As String, ByVal Usuario As String, ByVal Senha As String)
     Try
         Dim clsRequest As System.Net.FtpWebRequest = DirectCast(System.Net.WebRequest.Create(SiteFTp & "/" & System.IO.Path.GetFileName(Arquivo)), System.Net.FtpWebRequest)
         clsRequest.Credentials = New System.Net.NetworkCredential(Usuario, Senha)
         clsRequest.Method = System.Net.WebRequestMethods.Ftp.DownloadFile

         ' Lê o arquivo local
         Dim bFile() As Byte = System.IO.File.ReadAllBytes(Arquivo)

         ' Escreve no destino
         Dim clsStream As System.IO.Stream = clsRequest.GetRequestStream()
        clsStream.Write(bFile, 0, bFile.Length)
        clsStream.Close()
         clsStream.Dispose()
 
    Catch ex As Exception
          'messagebox.show("Ocorreu um erro" & ex.message, "Erro")

      End Try
End Sub

Fazer download de arquivo via FTP com VB.Net

Imports System.Net.Mail
Imports System.Net
Imports System.IO

Public Sub RecebeFTP(ByVal Arquivo As String, ByVal Usuario As String, ByVal Senha As String, ByVal Destino As String)
     Dim URI As String = "ftp://xxx.xxx.xxx.xxx/" & Arquivo
     Dim ftp As System.Net.FtpWebRequest = CType(FtpWebRequest.Create(URI), FtpWebRequest)
     ftp.Credentials = New System.Net.NetworkCredential(Usuario, Senha)
     ftp.KeepAlive = False
     ftp.UseBinary = True
     ftp.Method = System.Net.WebRequestMethods.Ftp.DownloadFile
     Using response As System.Net.FtpWebResponse = CType(ftp.GetResponse, System.Net.FtpWebResponse)
         Using responseStream As IO.Stream = response.GetResponseStream
             Using fs As New IO.FileStream(Arquivo, 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 '
                 responseStream.Close()
                 fs.Flush()
                 fs.Close()
 
            End Using
             responseStream.Close()
 
            End Using
             response.Close()
 
        End Using
End Sub

Listar o conteúdo de pasta remota FTP

Imports System.Net.Mail
Imports System.Net
Imports System.IO

Public Function ListaFtp(ByVal Usuario As String, ByVal Senha As String) As ArrayList
     Dim sArquivos As ArrayList = New ArrayList
     Dim iContador As Integer
     Dim fwr As FtpWebRequest = FtpWebRequest.Create("ftp://xxx.xxx.xxx.xxx/")
     fwr.Credentials = New NetworkCredential(Usuario, Senha)
     fwr.Method = WebRequestMethods.Ftp.ListDirectory
     Dim sr As New StreamReader(fwr.GetResponse().GetResponseStream())
     Dim str As String = sr.ReadLine()

     iContador = 0
     While Not str Is Nothing
         sArquivos.Add(str)
         str = sr.ReadLine()
     End While

     Return sArquivos
     sr.Close()
     sr = Nothing
     fwr = Nothing
End Function

Enviar e_mail com vb.net

Imports System.Net.Mail
Imports System.Net
Imports System.IO

Public Sub EnviaEmail(ByVal Destinatario As String, ByVal Conteudo As String)
     Dim Mailmsg As New System.Net.Mail.MailMessage()
     Dim mSmtpCliente As New SmtpClient("xxx.xxx.xxx.xxx", 25)
     Mailmsg.From = New MailAddress(eu@eu.com.br)
     Mailmsg.To.Add(New MailAddress(Destinatario))
     Mailmsg.IsBodyHtml = True
     Mailmsg.Subject = "Alteração de Velocidade máxima de alimentadores"
     Mailmsg.Body = Conteudo
     mSmtpCliente.Send(Mailmsg)
End Sub