C# 从 URL 读取文件信息

Pet*_* R. 3 c# asp.net url file

在我的 ASP.NET MVC 应用程序中,我从 URL 读取外部文件并将其保存到服务器上的目录中。如果文件被修改,我每隔几秒循环执行一次此操作,以获得实际数据。

我需要的是认识到LastWrittenTime通过 URL 访问的文件与已下载到服务器的文件不同。我无法使用FileInfo类,因为“不支持 URI 格式”。

那么如何从 URL 获取文件的最后写入时间,而不需要为每个循环下载完整文件呢?

wou*_*rvs 5

假设您的 HTTP 服务器允许这样做。

System.Net.WebRequest req = System.Net.HttpWebRequest.Create("http:\\your\url.ext");
req.Method = "HEAD";
using (System.Net.WebResponse resp = req.GetResponse())
{
    DateTime LastModified;
    if(DateTime.TryParse(resp.Headers.Get("Last-Modified"), out LastModified))
    { 
        //Check if date is good and then go to full download method.
    }
}
Run Code Online (Sandbox Code Playgroud)

当此方法因服务器不允许而不起作用时。那么唯一的方法就是完全下载文件。