Как скачать файл только тогда, когда локальный файл старше

2

Я пытаюсь сравнить два файла: один на локальном компьютере и другой на веб-сервере, если файл на веб-сервере более новый, он загружается/перезаписывается локальным. Хотя 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");
        }
    }
}
Теги:
download

1 ответ

5
Лучший ответ

Попробуйте использовать HttpWebRequest и HttpWebResponse:

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
}
  • 1
    Это все равно загрузит весь удаленный файл. Однако установка request.Metod в "HEAD" может работать.
  • 0
    @ Павел Александр, хорошая идея, обновил код.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню