質問に関する情報が見つかりません。私の検索努力が答えを見つけるのに十分ではなかったならば、すみません。車輪を回さないようにしたいだけです。
ありがとう!
フォローアップ:上書きされない場合、どうすれば(可能であれば)それを取得できますか?
質問に関する情報が見つかりません。私の検索努力が答えを見つけるのに十分ではなかったならば、すみません。車輪を回さないようにしたいだけです。
ありがとう!
フォローアップ:上書きされない場合、どうすれば(可能であれば)それを取得できますか?
30 秒のテストで、上書きされることが確認されました
テスト:
using (WebClient client = new WebClient())
{
client.DownloadFileAsync(new Uri("http://download.microsoft.com/download/8/4/A/84A35BF1-DAFE-4AE8-82AF-AD2AE20B6B14/directx_Jun2010_redist.exe"), @"C:\Test.exe");
}
再度ダウンロードすると、Test.exe が上書きされる
このWebClient
クラスは明らかに、多くの詳細と制御を抑制するように設計されています。ファイルを非常に簡単に非同期にダウンロードする独自のメソッドを作成し、ダウンロードしたデータをディスクに書き込む方法を制御できます。
codeproject のこのソリューションWebRequest
には、を使用してファイルをダウンロードし、WebResponse
より多くの制御を可能にするクラスが含まれていることは確かです。named が含まれているクラスを参照してくださいwebdata
。あなたも注意を払う必要があるコード:
FileStream newFile = new FileStream(targetFolder + file, FileMode.Create);
newFile.Write(downloadedData, 0, downloadedData.Length);
newFile.Close();
にはFileMode Enumeration
、ファイルを保存する動作を指示する一連のメンバーが含まれており、ファイルが既に存在する場合FileMode.CreateNew
は がスローされます。IOException
可能であればどこでFileMode.Create
ファイルを上書きします。
WebClient.DownloadFileAsync
他の人がすでに述べたように、使用を主張する場合:既存のファイルが上書きされることをユーザーに通知するだけで済みますOpenFileDialog
が、一部のダウンロードには時間がかかる可能性があり、ユーザーが作成していないと言うことは何もありませんダウンロード中に別のファイル。
ファイルが存在する場合は、はい。
名前を変更している場合、または にフックしている場合、それはOpenFileDialogue()
あなたの裁量です。