缓存验证
if (File.Exists(Application.StartupPath + "/Cache_" + (ci.ID * 10 - 2).ToString() + ".Cache"))
{
pb.LoadAsync(Application.StartupPath + "/Cache_" + (ci.ID * 10 - 2).ToString() + ".Cache");
}
else
{
pb.LoadAsync("ftp://" + FtpName + ":" + FtpPassword + "@" + FtpIP + ci.path);
if (Properties.Settings.Default.st_imagecache && !File.Exists(Application.StartupPath + "/Cache_" + (ci.ID * 10 - 2).ToString() + ".DownloadingCache"))
{
Cache_DownloadbyWebClient(Httpaddress + ci.path, Application.StartupPath + "/Cache_" + (ci.ID * 10 - 2).ToString() + ".DownloadingUniform");
}
}
异步下载(Cache_DownloadbyWebClient)
public void Cache_DownloadbyWebClient(string Http, string To)
{
;
WebClient client = new WebClient();
client.DownloadFileAsync(new Uri(Http), To,To);
client.DownloadProgressChanged += Cache_client_DownloadProgressChanged;
client.DownloadFileCompleted += Cache_client_DownloadFileCompleted;
}
void Cache_client_DownloadProgressChanged(object sender, DownloadProgressChangedEventArgs e)
{
Cache_Bar.Value = e.ProgressPercentage; //进度条
}
void Cache_client_DownloadFileCompleted(object sender, AsyncCompletedEventArgs e)
{
FileInfo a = new FileInfo(e.UserState.ToString());
string name = a.Name.Split('.')[0];
//MessageBox.Show(a.Name + "\n" + a.FullName + "\n" + a.Directory + "\n" + a.DirectoryName);
a.MoveTo(a.DirectoryName + "/"+name+".Cache");
//MessageBox.Show(a.FullName);
}
Comments | NOTHING