2

アプリへのドロップボックスバックアップの実装に問題があります。次のバックアップごとに前のバックアップを上書きする必要はありません。

私はこれを最初に試しました:

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人のユーザーが同じファイルを同時にアップロードしようとすると、競合するコピーが表示されますが、ここでは発生していません。

編集:ファイル1を削除することで回避できますが、あまり専門的ではありません

4

2 に答える 2

5

DropboxAPIを見てください。

これは、既存のファイル(同じファイル名)を上書きするためのメソッドを提供します: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 に答える