2012-02-01 6 views
11

winformsを使用してWindowsアプリケーションの特定のフォルダに指定したリンク(URL)からpdfファイルをダウンロードする必要があります。Windowsフォームの特定のURLから特定のパスにファイルをダウンロードするにはどうすればよいですか?

+0

[C#でウェブサイトからファイルをダウンロードする方法](http://stackoverflow.com/questions/525364/how-to-download-a-file-from-a-website-in-c) -sharp) – Jehof

答えて

24
using System.Net; 

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

このコードは間違っています! OPはPDFを求めています。 :)) – Neolisk

+2

私はそれをテストし、パスはファイル名に含めることができます。その正解 –

6

あなただけの「C#のダウンロードファイル」のために(別名グーグル)「ウェブを検索」、およびthis simple MSDN example(あなたの特定の質問に合わせて変更)して終わる可能性:

あなたが使用することができます
string remoteUri = "http://www.test.com/somefile.pdf"; 
string fileName = "c:\\targetfolder\\somefile.pdf"; 

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

面白い発言...多くの人がこれを(私は含まれています)、_avoid_ MSDNの参照と_directly_をstackoverflowのポストに移動します。 –

+0

httpパスの代わりに、\\ appsupld \ Uploads \ OfficeAutomation \ OMA \ Downloads \のようなパスからダウンロードするにはどうすればいいですか?私はそれを試してみると、例外が見つかりませんファイルを取得していますか? – Kumar

7

WebClient.DownloadFileメソッドは、.NET 2.0以降で使用できます。 Winformsだけでなく、あらゆる種類のアプリケーションから使用できます。

ファイル全体がダウンロードされるまで、DownloadFileはブロックされることに注意してください。あなたは、バックグラウンドでダウンロードされますWebClient.DownloadFileAsyncメソッドを使用して仕上げ

+0

kanavosに感謝してくれてありがとうございました.......... –

0
myWebClient.DownloadFile(myStringWebResource,fileName); 

をダウンロードするときに、ターゲットパスが指定されていないとあなたはfile.abcのようにそれを与える場合は、それがダウンロードされていない場合はDownloadFileCompletedイベントを発生させることができますブロックを避けるために、パスは、あなたはちょうど私が、これはもう少し助けになると思い@"C:\\Folder1\\Folder2\\file.abc"

のようなあなたの特定のパスを与える必要がありfile.abc の名前としてApplication.StartupPathと呼ばれます。私はMSDNによって提供されたサンプルコードの最初のサイトでそれを得ることができず、最後に私はこれを見つけました。

関連する問題