使用Dropbox API覆盖文件

时间:2012-07-28 09:39:37

标签: android dropbox

我无法在我的应用中实施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(冲突副本......)等等

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

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

2 个答案:

答案 0 :(得分:5)

只需查看Dropbox API

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

或者,如果您希望取消上传,请创建putFileOverwriteRequest并致电upload()将其启动。

答案 1 :(得分: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.");
        }