我知道这在this post已被触及,但我希望对此进行一些额外的说明。Dropbox API,重命名和唯一ID
目前,使用Dropbox Core API,似乎没有办法跟踪已重命名的文件。例如,如果您使用API将Dropbox app_folder与本地应用程序目录同步。您的Dropbox的一侧的文件重命名,然后调用delta
就看你如何更新您的本地应用程序目录,您将返回两个条目...
array(
0 => '/somefile.txt',
1 => null
),
array(
0 => '/somefile-renamed.txt',
1 => array(
'revision' => 343
'rev' => 'd90se4c661'
'thumb_exists' => false
'bytes' => 1263
'modified' => 'Tue, 09 Apr 2013 19:06:39 +0000'
'client_mtime' => 'Tue, 09 Apr 2013 18:43:06 +0000'
'path' => string '/somefile-renamed.txt'
'is_dir' => false
'icon' => 'page_white_text'
'root' => 'app_folder'
'mime_type' => 'application/octet-stream'
'size' => '1.2 KB'
)
)
对于每个返回数组,第一个元素是文件需要更新,第二个元素是文件元数据信息。如果第二个元素是null
,则应删除该文件的本地版本(及其下的任何内容,如果它是目录的话)。
因此,在上面的例子中,它告诉你删除第一个文件并上传这个全新的文件。不幸的是,没有办法跟踪你被告知创建的这个新文件实际上只是你要删除的文件的重命名版本。从您的应用程序的角度来看(非Dropbox方面),它看起来像是一个海峡删除和一个新文件进来。
如果您将数据存储在其他地方的这些文件中(如在数据库中),您需要更新记录而不是创建新记录并删除旧记录。
是否有一些可接受的方式来重命名后跟踪文件关联?我似乎无法找到使用元数据,增量或修订版的方法。
是的,有一点我试图通过存储文件内容的散列来确定,但它感觉非常恶心,所以我[退缩](http://www.youtube.com/watch?v=2iE4uEsaBF0&feature= youtu.be&t = 10s)。 – wlvrn 2013-04-11 14:30:43
API有一个'move'方法:https://www.dropbox.com/developers/core/docs#fileops-move用它做什么你会=) – Rudie 2013-12-23 18:53:33