如何在Dropbox API中进行基于块去重的上传?

0 投票
1 回答
794 浏览
提问于 2025-04-17 15:59

我正在使用Dropbox的API(Python版本),想要实现一些Dropbox客户端软件里的功能。

在Dropbox的API中,我可以调用一个像put_file()这样的函数,把文件上传到我的Dropbox账户。

Dropbox实际上有一个针对每个用户的去重机制,这意味着在把文件上传到服务器之前,你需要先把文件的哈希值(就是文件的唯一标识)传给服务器。如果你之前上传过一个文件F,现在服务器发现哈希值匹配,就不需要再上传这个文件了。

不过,put_file()似乎每次都在上传文件,并没有进行分块处理。

我还发现upload_chunk()可能有用,但感觉用处不大。

我想知道如何通过Dropbox的API实现基于分块的去重?

(比如,我可以先上传某个分块的哈希值,服务器会告诉我是否有匹配的哈希值)

1 个回答

1

根据这条公告,分块上传的目的是为了让你在网络连接不稳定的时候,也能顺利上传大文件。也就是说,它允许你把一个大文件分成小块来上传,而不是一次性上传整个文件。这和去重没有关系。

如果你看看Core API的文档(其实内容不多),你会发现文档里根本没有提到通过这个API提供去重功能。无论你是用Python还是其他任何编程语言或库,如果没有官方的API支持去重功能,你就无法使用这个功能。

撰写回答