Pessoal, não sou muito experiente com ASP.NET, então estou tomando uma canseira dele rs.
Estou tentando fazer um upload de arquivo para um servidor FTP, utilizando o controle FileUpload.
Criei um método e o apliquei, mas está gerando um erro, pois ele pega o caminho errado do arquivo. Por exemplo, se eu vou no FileUpload e pego o arquivo
C:\Documentos\doc1.docx, ele gera a exceção dizendo que nao pode encontrar o arquivo C:\Program Files\IIS Express\doc1.docx.
Mas está no caminho que eu setei, e não nesse que ele transformou.
Vejam meu código
private static void UploadFileToFTP(string source)
{
String ftpurl = "ftp://*******.com.br/backupfolha/files";
String ftpusername = "*********";
String ftppassword = "*********";
try
{
string filename = Path.GetFileName(source);
string ftpfullpath = ftpurl;
FtpWebRequest ftp = (FtpWebRequest)FtpWebRequest.Create(ftpfullpath);
ftp.Credentials = new NetworkCredential(ftpusername, ftppassword);
ftp.KeepAlive = true;
ftp.UseBinary = true;
ftp.Method = WebRequestMethods.Ftp.UploadFile;
FileStream fs = File.OpenRead(source);
byte[] buffer = new byte[fs.Length];
fs.Read(buffer, 0, buffer.Length);
fs.Close();
Stream ftpstream = ftp.GetRequestStream();
ftpstream.Write(buffer, 0, buffer.Length);
ftpstream.Close();
}
catch (Exception ex)
{
throw ex;
}
}
protected void btEnviar_Click(object sender, EventArgs e)
{
UploadFileToFTP(Upload1.PostedFile.FileName);
//UploadFileToFTP(Upload1.FileName);
}
Grato
Leonardo D'Amato
