2

我在为我的应用程序实施 Dropbox 备份时遇到问题。我不希望每个下一个备份都覆盖前一个。

我首先尝试了这个:

newEntry = mDBApi.putFile("/file.bak", inputStream, file.length(), null, null);

它正在创建 test.bak 然后 test.bak(1) test.bak(2) 等等......

然后我尝试保存第一个文件的修订 ID,然后将其传递给每次上传。

newEntry = mDBApi.putFile("/file.bak", inputStream, file.length(), revision, null);

我得到 file.bak 然后是 file.bak (conflicted copy....) 等等

我究竟做错了什么?Dropbox 文档说,当 2 个用户尝试同时上传同一个文件时,会出现冲突副本,但这里没有发生

编辑:我可以通过删除第一个文件来解决它,但这听起来不太专业

4

2 回答 2

5

看看Dropbox API

它提供了一种覆盖现有文件(具有相同文件名)的方法:putFileOverwrite

或者,如果您希望能够取消上传,请创建一个putFileOverwriteRequest并通过调用upload().

于 2012-08-23T17:21:57.563 回答
1

尝试这个:

      try {
            DropboxAPI.Entry newEntry = mDBApi.putFileOverwrite("/file.bak", inputStream, file.length(), null);
        } catch (DropboxUnlinkedException e) {
            Log.e("DbExampleLog", "User has unlinked.");
        } catch (DropboxException e) {
            Log.e("DbExampleLog", "Something went wrong while uploading.");
        }
于 2013-01-28T13:56:43.717 回答