获取远程文件的上次修改日期

时间:2014-02-22 15:10:49

标签: c# windows-store-apps

我有一个应用程序,在启动时它从远程位置(通过网络)下载文件并解析它的内容。

我正在尝试加快启动过程,因为文件越大,应用程序启动越慢。

作为一种加速过程的方法,我想到了获取文件的最后修改日期,如果它是用户电脑上的文件中的新版本,那么只有下载它。 我已经找到很多方法在线完成它,但没有一个在C#中(对于Windows应用商店应用)。有没有人知道这样做的方法,而无需下载文件?如果我要下载文件,那么这个过程就会加速。

我目前下载文件的C#代码是

const string fileLocation = "link to dropbox";
            var uri = new Uri(fileLocation);
            var downloader = new BackgroundDownloader();
            StorageFile file = await ApplicationData.Current.LocalFolder.CreateFileAsync("feedlist.txt",CreationCollisionOption.ReplaceExisting);
            DownloadOperation download = downloader.CreateDownload(uri, file); 
            await download.StartAsync();

如果它有助于将文件存储在Dropbox中,但如果你们中的任何人对另一个免费文件托管服务有任何建议,我愿意接受建议

1 个答案:

答案 0 :(得分:1)

通常,您可以按sending HEAD request检查文件时间,并解析/查看Last-Modified字段的HTTP标头响应。远程服务器应该支持它,DropBox不支持直接链接的此功能(仅通过API)。但是DropBox有另一个功能,标题有etag字段。您应该存储它并检查下一个请求。如果它改变了 - 文件也被改变了。您可以使用this tool检查远程文件头。