2012-02-01 90 views
11

Necesito descargar archivos pdf desde un enlace específico (url) a una carpeta específica en una aplicación de Windows usando winforms cualquiera me puede sugerir con una solución.¿Cómo descargar un archivo a una ruta específica desde una url determinada en un formulario de Windows?

+0

posible duplicado de [Cómo descargar un archivo de un sitio web en C#] (http://stackoverflow.com/questions/525364/how-to-download-a-file-from-a-website-in-c -sharp) – Jehof

Respuesta

24
using System.Net; 

using (WebClient webClient = new WebClient()) 
{ 
    webClient.DownloadFile("http://mysite.com/myfile.txt", @"c:\myfile.txt"); 
} 
+3

¡Este código es incorrecto! OP quiere archivos PDF. :)) – Neolisk

+2

Lo pruebo, la ruta se puede incluir en el nombre del archivo. es Correcto –

6

Se podía "hacer búsquedas de Internet" (también conocido como Google) para "C# archivo de descarga", y terminan con this simple MSDN example (modificado para adaptarse a su pregunta específica):

string remoteUri = "http://www.test.com/somefile.pdf"; 
string fileName = "c:\\targetfolder\\somefile.pdf"; 

WebClient myWebClient = new WebClient(); 
myWebClient.DownloadFile(remoteUri,fileName); 
+7

Comentario curioso ... Mucha gente hace esto (yo incluido), _evitar referencias de MSDN e ir _directly_ a una publicación de stackoverflow. –

+0

¿Cómo puedo descargar desde una ruta como esta \\ appsupld \ Uploads \ OfficeAutomation \ OMA \ Downloads \ en lugar de una ruta http. Cuando lo intento obtengo la excepción de archivo no encontrado? – Kumar

7

Se puede utilizar el método WebClient.DownloadFile, disponible desde .NET 2.0. Se puede usar desde cualquier tipo de aplicación, no solo con Winforms.

Debe tener en cuenta que DownloadFile bloquea hasta que el archivo completo termine de descargarse. Para evitar el bloqueo se puede utilizar el método WebClient.DownloadFileAsync que se descarga en segundo plano y provocar el evento DownloadFileCompleted cuando termine la descarga,

+0

Gracias kanavos me ha ayudado mucho gracias por la información .......... –

0
myWebClient.DownloadFile(myStringWebResource,fileName); 

Si no se especifica, no la ruta de destino y si se le da como file.abc que se descarga a una ruta llamada Application.StartupPath como el nombre de file.abc Por lo que sólo tiene que dar su ruta específica como @"C:\\Folder1\\Folder2\\file.abc"

creo que esto ayudará un poco más. No pude obtenerlo en el primer sitio de ejemplos de códigos proporcionados por MSDN y finalmente encontré esto.

Cuestiones relacionadas