Este artículo ha sido migrado a mi nuevo blog:
Abril 17, 2007
8 comentarios »
Canal RSS de los comentarios de la entrada. URI para TrackBack.
Este artículo ha sido migrado a mi nuevo blog:
Canal RSS de los comentarios de la entrada. URI para TrackBack.
[...] un archivo como eMail 17 04 2007 Siguiendo la línea del artículo anterior donde explicaba como subir un archivo vía FTP, voy a mostrar ahora como enviar un archivo vía email con las clases contenidas en [...]
Pingback por Enviar un archivo como eMail « WhatTheFuckException was thrown — Abril 17, 2007 @ 8:02 am
Hola, gracias por tu ejemplo.
Al ejecutarlo me arroja la siguiente Excepcion:
No se admite el comando FTP solicitado cuando se utiliza un proxy HTTP.
Quizas a ti no te arroje esto… o hay que hacer algo mas?
salu2 y gracias
Comment por Rodrigo BDHiv — Abril 25, 2007 @ 4:33 pm
Nop, a mi no me salta ninguna excepción pero también es cierto que lo hago en local.
Has probado a hacer ‘ftp.Proxy = null;’ ?
http://www.cookcomputing.com/blog/archives/000554.html
Por lo que parece solo ciertos comandos funcionan a través de un proxy.
http://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=255685&SiteID=1
Estas tras uno?
Un saludo.
Comment por vtortola — Abril 25, 2007 @ 4:49 pm
me ha resultado..!! muchas gracias..
envio el codigo completo para quienes lo quieran usar
private void UploadFTP(string PathFichero,string NombreFichero)
{
try
{
MemoryStream ms = new MemoryStream();
FileStream fsArchivo = new FileStream(PathFichero, FileMode.Open, FileAccess.Read, FileShare.Read);
string login = “usuario”;
string password = “pass”;
string url = “ftp://ftp.myhost.com/Software/” + NombreFichero;
FtpWebRequest ftp = (FtpWebRequest)FtpWebRequest.Create(url);
http://ftp.Credentials = new NetworkCredential(login, password);
http://ftp.KeepAlive = false;
http://ftp.Method = WebRequestMethods.Ftp.UploadFile;
http://ftp.UseBinary = true;
http://ftp.ContentLength = fsArchivo.Length;
ms.Position = 0;
int buffLength = 2048;
byte[] buff = new byte[buffLength];
int contentLen;
http://ftp.Proxy = null;
using (Stream strm = http://ftp.GetRequestStream())
{
// Leer del buffer 2kb cada vez
contentLen = fsArchivo.Read(buff, 0, buffLength);
// mientras haya datos en el buffer ….
while (contentLen != 0)
{
//escribir en el stream de conexión
//el contenido del stream del fichero
strm.Write(buff, 0, contentLen);
contentLen = ms.Read(buff, 0, buffLength);
}
}
}
catch (Exception e)
{
}
}
Comment por Rodrigo BDHiv — Abril 25, 2007 @ 8:35 pm
De nada
Añado la opción de proxy al código del ejemplo.
Un saludo.
Comment por vtortola — Abril 25, 2007 @ 9:00 pm
Muy buen artículo, en verdad me ha ayudado…. me voy a tomar la libertad de referenciarlo desde mi blog y en un par de días posteare la solución al problema que tenía pero con la solución completa que incluirá el código que han expuesto aquí….
Saludos.
Comment por h@nz ...el Geek — Mayo 22, 2007 @ 9:02 pm
Me alegro de que sea útil, pues ese era el fin con el que lo escribí
Un saludo.
Comment por vtortola — Mayo 24, 2007 @ 10:03 pm
El primer ejemplo no me crea un archivo en el ftp, pero sin las lineas de texto!!! cual puede ser el error?
Comment por Oswaldo — Agosto 8, 2007 @ 1:17 am