sistemas
Enviando arquivos para o servidor com FtpWebRequest
Abra o Visual Studio 2012 Express for desktop e clique em New Project;
Selecione a linguagem Visual C# e o template Windows -> Windows Forms Application informando o nome EnviandoArquvosWeb;
No formulário padrão form1.cs inclua os seguintes controles a partir da ToolBox:
2 Label
2 TextBox : txtDominioFtp e txtArquivo
1 Button : btnEnviarArquivo
Disponha os controles conforme o leiaute da figura abaixo:
Agora vamos definir os namespaces usados no formulário que permitem acessar as classes usadas no projeto : using System; using System.IO; using System.Net; using System.Windows.Forms;
Agora no evento Click do botão de comando inclua o seguinte código: private void btnEnviarArquivo_Click(object sender, EventArgs e)
{
EnviarArquivo();
}
O código da rotina EnviarArquivo() segue abaixo: private void EnviarArquivo() { FtpWebRequest ftpRequest; FtpWebResponse ftpResponse; try { //define os requesitos para se conectar com o servidor ftpRequest = (FtpWebRequest)FtpWebRequest.Create(new Uri(txtDominioFTP.Text)); ftpRequest.Method = WebRequestMethods.Ftp.UploadFile; ftpRequest.Proxy = null; ftpRequest.UseBinary = true; ftpRequest.Credentials = new NetworkCredential("Usuario", "Senha");
//Seleção do arquivo a ser enviado FileInfo arquivo = new FileInfo(txtArquivo.Text); byte[] fileContents = new byte[arquivo.Length];
using (FileStream fr = arquivo.OpenRead()) { fr.Read(fileContents, 0, Convert.ToInt32(arquivo.Length)); }
using (Stream writer = ftpRequest.GetRequestStream()) { writer.Write(fileContents, 0, fileContents.Length);