C# - 下载文件 - 如果本地文件戳早于服务器,则仅下载文件

时间:2011-06-23 16:34:08

标签: c# .net windows

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

例如Web服务器中的文件:

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

本地计算机上的文件:

C:\test.txt

2 个答案:

答案 0 :(得分:4)

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

  1. 确定LastWriteTime本地文件。
  2. HttpWebRequest属性设置为IfModifiedSince发送给LastWriteTime。
  3. 如果自标头值以来修改了远程文件,则会照常返回200 OK响应。否则,将返回304 NotModified响应,指示自标头值以来未修改远程文件。
  4. 请注意,304 NotModified响应会导致抛出WebException。 请参阅:Using If-Modified-Since in HTTP Requests

答案 1 :(得分:1)

查看此链接: http://www.codeguru.com/csharp/.net/net_general/internet/print.php/c16073

基本上你在寻找“条件获取”上面的链接应该让你开始。