0

我想使用我的 web 应用程序根据用户输入创建一个文件,并将其上传到我的 Dropbox。出于某种原因,Dropbox 网站上没有 Java 教程。我找到了两个示例:
example1
example2

后者是从 2013 年 5 月开始的,但是,两者似乎都使用不再支持的旧 API。我正在寻找一个使用 dropbox-core-sdk-1.7.jar 的工作示例。

4

3 回答 3

4

我根据示例编写了一个简化的上传器

https://github.com/dimidd/dropbox-sdk-java/blob/master/examples/uploader/src/com/dropbox/core/examples/uploader/DbxUploader.java

于 2013-08-14T15:11:51.153 回答
1

您可以查看examplesJava SDK 中的文件夹,了解 API 与早期版本的不同之处。另请查看文档。例如,您可能想要使用uploadFilehttp ://dropbox.github.io/dropbox-sdk-java/api-docs/v1.7.x/com/dropbox/core/DbxClient.html#uploadFile(java .lang.String , com.dropbox.core.DbxWriteMode, long, java.io.InputStream)。

(抱歉;我无法正确解析该 URL。)

于 2013-08-08T15:47:46.523 回答
1

首先创建一个 DbxClient(如示例所示),然后上传:

/**
* Upload a file to your Dropbox
* @param srcFilename path to the source file to be uploaded 
*  e.g. /tmp/upload.txt
* @param destFilename path to the destination.
*  Must start with '/' and must NOT end with'/' 
*  e.g. /target_dir/upload.txt 
* @param dbxClient a DbxClient created using an auth-token for your Dropbox app
* @throws IOException 
*/
public void upload (String srcFilename, String destFilename, DbxClient dbxClient) throws IOException {

    File uploadFile = new File (srcFilename);
    FileInputStream uploadFIS;
    try {
        uploadFIS = new FileInputStream(uploadFile);
    }

    catch (FileNotFoundException e1) {          
        e1.printStackTrace();
        System.err.println("Error in upload(): problem opening " + srcFilename);
        return;
    }

    String targetPath = destFilename; 
    try {
        dbxClient.uploadFile(targetPath, DbxWriteMode.add(), uploadFile.length(), uploadFIS);
    } 

    catch (DbxException e) {
        e.printStackTrace();
        uploadFIS.close();
        System.err.println("Error in upload(): " + e.getMessage());
        System.exit(1);
        return;         
    }
}
于 2013-08-09T09:22:05.920 回答