C#-正在下载文件-仅当本地文件戳比服务器上的旧时才下载文件

本文关键字:文件 下载 服务器 C#- | 更新日期: 2023-09-27 18:00:17

如果本地文件上的时间戳早于服务器上的文件时间戳,那么如何从服务器下载文件,并让C#只下载文件?在这种情况下,两个文件具有相同的名称、扩展名等。

例如web服务器中的文件:

http://www.test.com/test.txt

本地计算机上的文件:

C:'test.txt

C#-正在下载文件-仅当本地文件戳比服务器上的旧时才下载文件

您可以使用HTTP If Modified Since header字段仅在文件比给定时间戳更新时下载文件:

  1. 确定本地文件的LastWriteTime
  2. 发送将IfModifiedSince属性设置为LastWriteTime的HttpWebRequest
  3. 如果远程文件自标头值以来已被修改,则会像往常一样返回200 OK响应。否则,返回304 NotModified响应,指示自标头值以来远程文件未被修改

请注意,304 NotModified响应会引发WebException。请参阅:在HTTP请求中使用If Modified Since。

请参阅此链接:http://www.codeguru.com/csharp/.net/net_general/internet/print.php/c16073

基本上你在寻找一个"有条件的获取"上面的链接应该会让你开始。