WebClientを使用してファイルをダウンロードする方法について、同様の質問がいくつか寄せられていることを知っています。個々のファイルを完全にダウンロードできますが、さまざまなファイルをダウンロードしたいと思います。1〜6000ファイルのどこでも。現在のディレクトリに問題なくダウンロードできますが、ダウンロード元の場所に基づいて別のディレクトリにダウンロードする方法に困惑しています。ダウンロードする直前に、現在の作業ディレクトリを一時的に変更する必要がありますか?
そして、少し同じトピックで、ファイルをダウンロードする前にファイルが存在することを確認する方法に固執しています。空のファイルで帯域幅やディスクスペースを無駄にしたくありません。これまでのところ、次のようになっています。
for (int x = 1; x <= 6000; x++)
{
pbsscount = x.ToString();
// Used for downloading file
string directoryName = textBox1.Text.ToString().Replace(":", "_");
if (!Directory.Exists(textBox1.Text))
Directory.CreateDirectory(directoryName.Substring(7));
string wholePBSSurl = textBox1.Text + "/" + "pb" + pbsscount.PadLeft(6, '0') + ".png";
// Used for saving file, file name in directory
string partPBSSurl = "pb" + pbsscount.PadLeft(6, '0') + ".png";
Uri uri2 = new Uri(wholePBSSurl);
//if (fileExists(wholePBSSurl))
//{
// Initialize downloading info, grab progressbar info
WebClient webClient = new WebClient();
webClient.DownloadFileCompleted += new AsyncCompletedEventHandler(Completed);
webClient.DownloadProgressChanged += new DownloadProgressChangedEventHandler(ProgressChanged);
// Save file to folder
//webClient.DownloadFileAsync(uri2, textBox1.Text + "/" + partPBSSurl);
webClient.DownloadFileAsync(uri2, partPBSSurl);
//}
}