我想使用我的webapp根据用户输入创建文件,并将其上传到我的Dropbox。出于某种原因,Dropbox网站上没有java教程。我找到了两个例子:
example1
example2
后者是从2013年5月开始的,但是,它们似乎都使用旧的API,不再支持它。我正在寻找一个使用dropbox-core-sdk-1.7.jar的工作示例。
答案 0 :(得分:4)
我根据示例
编写了一个简化的上传器答案 1 :(得分:1)
您可以查看Java SDK中的examples
文件夹,了解API与早期版本的不同之处。另请查看文档。例如,您可能希望使用uploadFile
:http://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)。
(对不起;我无法正确地解析该网址。)
答案 2 :(得分: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;
}
}