如何在Dropbox API中进行基于块去重的上传?
我正在使用Dropbox的API(Python版本),想要实现一些Dropbox客户端软件里的功能。
在Dropbox的API中,我可以调用一个像put_file()
这样的函数,把文件上传到我的Dropbox账户。
Dropbox实际上有一个针对每个用户的去重机制,这意味着在把文件上传到服务器之前,你需要先把文件的哈希值(就是文件的唯一标识)传给服务器。如果你之前上传过一个文件F,现在服务器发现哈希值匹配,就不需要再上传这个文件了。
不过,put_file()
似乎每次都在上传文件,并没有进行分块处理。
我还发现upload_chunk()
可能有用,但感觉用处不大。
我想知道如何通过Dropbox的API实现基于分块的去重?
(比如,我可以先上传某个分块的哈希值,服务器会告诉我是否有匹配的哈希值)
1 个回答
1
根据这条公告,分块上传的目的是为了让你在网络连接不稳定的时候,也能顺利上传大文件。也就是说,它允许你把一个大文件分成小块来上传,而不是一次性上传整个文件。这和去重没有关系。
如果你看看Core API的文档(其实内容不多),你会发现文档里根本没有提到通过这个API提供去重功能。无论你是用Python还是其他任何编程语言或库,如果没有官方的API支持去重功能,你就无法使用这个功能。