2014-02-22 127 views
0

我有一個應用程序,它在啓動時從遠程位置(通過網絡)下載文件並解析其內容。獲取遠程文件的最後修改日期

我試圖加快啓動過程,因爲文件越大,應用程序啓動越慢。

作爲一種加速過程,我想獲得文件的最後修改日期,如果它是從用戶的PC上的文件更新,那麼只有然後下載它。 我發現有很多方法可以在線完成,但它們都不在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的,但如果有的話你們有另一個免費網絡硬盤的建議我願意接受建議

+0

您可以改爲讓服務器(遠程位置)創建一些下列結構的索引文件:文件名,最後修改的數據(我建議您使用校驗和來代替),讓客戶端下載此字符串,比較日期(或校驗和^^),如果不同,請刪除並下載。 –

+0

說實話,遠程位置是一個公共文件夾在收件箱中:D現在便宜:D –

+0

您可以使用什麼協議?對不起,我從未使用過DropBox。用SFTP你可以得到那種信息,我想。 –

回答

1

通常,您可以通過sending HEAD request檢查文件時間並解析/查看提交的Last-Modified HTTP標頭響應。遠程服務器應該支持它,DropBox不支持直接鏈接的這個功能(只能通過API)。但DropBox有另一個功能,標題有etag字段。您應該存儲它並檢查下一個請求。如果它改變了 - 文件也被改變了。您可以使用this tool來檢查遠程文件標題。

+0

這只是一個在網絡上有數百個實現的工具。文中的解決方案。 – crea7or

相關問題