本教程介绍了如何将图像上传到放置框并获取上传图像的公共URL。
首先,我们必须使用应用程序控制台创建一个DropBox API应用程序 。 创建应用程序后,您可以在应用程序属性中获取应用程序密钥和秘密密钥。
现在在您的pom文件中添加以下依赖项。
<dependency>
<groupId>com.dropbox.core</groupId>
<artifactId>dropbox-core-sdk</artifactId>
<version>1.7.7</version>
</dependency>
现在,此Java程序将完成其余工作。 替换程序中的应用程序密钥和密钥。 从命令行运行此Java程序,它将要求输入代码,您将通过遵循控制台上打印的URL来获取代码。
为了获取公共URL,我们只需要使用dropboxClient类的createShareableUrl。
import java.io.BufferedReader;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.Locale;
import com.dropbox.core.DbxAppInfo;
import com.dropbox.core.DbxAuthFinish;
import com.dropbox.core.DbxClient;
import com.dropbox.core.DbxEntry;
import com.dropbox.core.DbxException;
import com.dropbox.core.DbxRequestConfig;
import com.dropbox.core.DbxWebAuthNoRedirect;
import com.dropbox.core.DbxWriteMode;
public class UploadImages
{
public static void main(String[] args) throws IOException, DbxException
{
final String DROP_BOX_APP_KEY = "APPKEY";
final String DROP_BOX_APP_SECRET = "SECRETKEY";
String rootDir = "C:\\Users\\Downloads\\";
DbxAppInfo dbxAppInfo = new DbxAppInfo(DROP_BOX_APP_KEY, DROP_BOX_APP_SECRET);
DbxRequestConfig reqConfig = new DbxRequestConfig("javarootsDropbox/1.0",
Locale.getDefault().toString());
DbxWebAuthNoRedirect webAuth = new DbxWebAuthNoRedirect(reqConfig, dbxAppInfo);
String authorizeUrl = webAuth.start();
System.out.println("1. Go to this URL : " + authorizeUrl);
System.out.println("2. Click \"Allow\" (you might have to log in first)");
System.out.println("3. Copy the authorization code and paste here ");
String code = new BufferedReader(new InputStreamReader(System.in)).readLine().trim();
DbxAuthFinish authFinish = webAuth.finish(code);
String accessToken = authFinish.accessToken;
DbxClient client = new DbxClient(reqConfig, accessToken);
System.out.println("account name is : " + client.getAccountInfo().displayName);
File inputFile = new File(rootDir +"images\\"+ "javaroots.jpg");
FileInputStream inputStream = new FileInputStream(inputFile);
try {
DbxEntry.File uploadedFile = client.uploadFile("/javaroots.jpg",
DbxWriteMode.add(), inputFile.length(), inputStream);
String sharedUrl = client.createShareableUrl("/javaroots.jpg");
System.out.println("Uploaded: " + uploadedFile.toString() + " URL " + sharedUrl);
} finally {
inputStream.close();
}
}
}
请参考此官方投递箱链接。
- 您可以从此链接下载完整的项目。 发表评论和建议!
翻译自: https://www.javacodegeeks.com/2014/11/how-to-upload-images-to-dropbox-in-java.html