如何仅在本地文件较旧时下载文件

时间:2011-06-25 23:10:30

标签: c# .net windows download

我正在尝试比较两个文件,一个在本地计算机上,另一个在Web服务器上,如果Web服务器上的文件较新,则下载/覆盖本地文件。虽然FileInfo不会使用URI,但有人可以推荐一种方法吗

private void checkver()
{
    FileInfo sourceFile = new FileInfo("download.zip");
    if (sourceFile.Exists)
    {
        FileInfo destFile = new FileInfo(@"http://www.google.com/download.zip");
        if (destFile.Exists && destFile.LastWriteTime >= sourceFile.LastWriteTime)
        {

            MessageBox.Show("File already up to date");

        }
        else
        {
            MessageBox.Show("File is not up to date");
        }
    }
}

1 个答案:

答案 0 :(得分:5)

尝试使用HttpWebRequestHttpWebResponse

var request = (HttpWebRequest)WebRequest.Create(@"http://www.google.com/download.zip");
request.Method = "HEAD";
var response = (HttpWebResponse)request.GetResponse();

if (response.LastModified > sourceFile.LastWriteTime)
{
    // create another request to download the whole file
}