我正在使用DropNet lib創建客戶端以同步本地文件和Dropbox文件夾。
如果同一個文件存在於雲和本地文件夾中,我該如何檢查它們是否相同,或者哪兩個更新? 如果我將雲文件的ModifiedDate與本地文件的LastWriteTime進行比較,這些日期通常是衝突的,可能是因爲客戶端時間與保管箱的服務器時間不同。 如何進行高效的文件比較?在C#中比較本地文件和雲文件(使用Dropbox和DropNet庫)
回答
Dropbox的API允許你用正常的Dropbox的生態系統相連接,並與Dropbox的同步時可能會有很好的單一賬戶超過2個客戶端。爲了協調這一點,Dropbox服務器被認爲是真相的來源。因此,當您與Dropbox進行同步時,意圖是您應該儘快從服務器獲取所有更改,並將所有本地更改報告給服務器。
沿着這些路線,儘管Dropbox API目前不提供獲取遠程文件的文件ID或散列的方法(儘管我們將此作爲功能請求來解決),但它確實提供了一些方法來了解文件已經遠程更改,以便您可以更新您的本地狀態。經由/元數據API調用中使用一個文件的「轉」屬性在特定路徑的一種方法:如果自上次檢查了它的轉速改變
https://www.dropbox.com/developers/core/docs#metadata
,在該路徑的文件已經改變。
另一種方法是使用/△:
https://www.dropbox.com/developers/core/docs#delta
你可以偶爾叫這瞭解你需要對你的本地狀態得到回升到日期的任何變更。
因此,解決方案是在本地創建日誌文件,其中我保存每個下載文件的REV。這是一個很好的解決方案。因此,我得出結論,我不能做相反的事情,但我已經部分解決了我的問題。謝謝。 –
逐字節比較可能是最正確的方法。閱讀此鏈接以獲取有關文件散列的討論。
https://stackoverflow.com/a/7931320/1706610
這裏是一個不錯的鏈接,通過字節文件比較方法的字節。
感謝您的回答,但其中一個要比較的文件位於雲空間中。我無法循環下載它們以進行(有效的本地)檢查!所以我想知道,如果使用Dropnet,兩個文件中的哪一個(本地文件和雲中文件)是最新的 –
- 1. 使用DropNet從Dropbox下載文件
- 2. 比較XML文件和文本文件
- 3. 比較文本和文本文件
- 4. 比較NetBeans中的本地文件和遠程文件
- 5. 緩存和比較文件在C#
- 6. Python文本文件比較和連接
- 7. 使用Dropbox API列出Dropbox的所有文件夾和文件
- 8. C#進行比較的URL文件與本地文件
- 9. 文本文件比較庫(MS許可)
- 10. 比較shell腳本和增量文件
- 11. 腳本來比較mp3和mp4文件
- 12. 比較FTP文件和MD5
- 13. C文件比較
- 14. 用c#比較CSV文件和數據庫的最快方法
- 15. 在txt文件中比較和刪除
- 16. 在Mac上比較本地和遠程(FTP/SFTP)文件
- 17. 在java中導入和比較兩個文本文件
- 18. 在c#中使用Dropbox Api讀取大文件和塊上傳#
- 19. 比較和合並多個文件使用VB.NET的文本文件
- 20. SSIS比較文本文件
- 21. 文本文件比較
- 22. C# - 比較多個文件和另外一個文件
- 23. 使用DropBox存儲本地數據庫文件
- 24. 超越遠程本地文件比較
- 25. 如何通過SFTP輕鬆比較本地和遠程文件
- 26. 使用C++比較大文件
- 27. 在庫中使用本地化文件
- 28. 在Word文件和文件夾中比較圖片?
- 29. 使用shell腳本比較兩個文件夾中的文件
- 30. C# - 使用兩個.txt文件比較/替換文本
計算兩個文件的散列(md5,sha1,無論)並進行比較。 – Alberto
Dropnet lib允許我在不下載文件的情況下檢查該控件? –