如何在Java中将图像上传到DropBox

本教程介绍了如何将图像上传到放置框并获取上传图像的公共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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/361722.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

css3动画整理

css3动画主要常用的属性有 变形&#xff08;transform&#xff09;&#xff0c;转换&#xff08;transition&#xff09;&#xff0c;动画&#xff08;animation&#xff09;三种。 变形&#xff08;transform&#xff09;主要有以下几种方式&#xff1a; 旋转rotate&#xff1…

jQuery应用实例2:简单动画

效果&#xff1a; 代码&#xff1a; 1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">2 <html xmlns"http://www.w3.org/1999/xhtml">3 <head>…

程序员成熟的标志

程序员在经历了若干年编程工作之后&#xff0c;很想知道自己水平到底如何&#xff1f;自己是否已经成为成熟的程序员&#xff1f;虽然程序员会对自己有一个自我评价&#xff0c;但是&#xff0c;自己的评价和社会的评价、专业的评价会有差异&#xff0c;所以程序员自己并不能肯…

Spring Data JPA教程:简介

创建使用Java Persistence API的存储库是一个繁琐的过程&#xff0c;需要大量时间&#xff0c;并且需要大量样板代码。 通过执行以下步骤&#xff0c;我们可以消除一些样板代码&#xff1a; 创建一个抽象的基础存储库类&#xff0c;该类为实体提供CRUD操作。 创建扩展抽象基础…

深入了解React组件重新渲染的条件和生命周期

React组件rerender的真正条件 当前组件的State中的属性改变时且当前组件的shouldcomponentupdate返回true&#xff0c;那么当前组件会rerender组件的props中的任一属性的值有变化(即使这个任一属性的值是对象&#xff0c;变化的仅仅是该对象中的某属性的值&#xff0c;此刻也算…

对怀孕的人有害的食物。。。朋友们记住咯!(欢迎转载)

有几个同事和朋友要生BB啦&#xff0c;好东东&#xff0c;转给你们提前学习一下~ 容易流产食物&#xff1a; 1、螃蟹&#xff1a;它味道鲜美&#xff0c;但其性寒凉&#xff0c;有活血祛瘀之功&#xff0c;故对孕妇不利&#xff0c;尤其是蟹爪&#xff0c;有明显的堕胎作用。 2…

Vss服务端用户存在,但客户端登陆不进去

打开客户端Vss提示“Cannot find SS.INI file for user userName”,这个错误是找不到用户userName的SS.INI文件。 解决办法 在服务器上找到Vss共享的文件夹&#xff0c;打开此文件夹下的users文件夹&#xff0c;然后找到userName文件夹打开后&#xff1a; 如果没有SS.INI文件&a…

Hystrix中的批量(折叠)请求

Hystrix具有折叠&#xff08;或批处理&#xff09;请求的高级功能。 如果两个或多个命令同时运行相似的请求&#xff0c;Hystrix可以将它们组合在一起&#xff0c;运行一个批处理请求&#xff0c;并将拆分结果分派回所有命令。 首先让我们看看Hystrix如何工作而不会崩溃。 假设…

C#繁简转换

//1.using System.Runtime.InteropServices; //2.import kernel32.dll [DllImport("kernel32.dll",EntryPoint "LCMapStringA")]    public static extern int LCMapString(int Locale,int dwMapFlags,byte[] lpSrcStr,int cchSrc,byte[] lpDestStr,…

css笔记 2

定义一个类选择器.center {text-align: center} h1 有 center 类。这意味将遵守 ".center" 选择器中的规则。<h1 class"center">This heading will be center-aligned</h1> 类名的第一个字符不能使用数字&#xff01; 派生选择器td.fancy {…

合并购物车

合并购物车逻辑分析 合并方向&#xff1a;cookie 购物车数据合并到 Redis 购物车数据中。合并数据&#xff1a;购物车商品数据和勾选状态。合并方案&#xff1a; Redis 数据库中的购物车数据保留。如果 cookie 中的购物车数据在 Redis 数据库中已存在 将 cookie 购物车数据覆盖…

Swing和JavaFX:使用JFXPanel

我很快将不得不在基于Swing的胖客户端中处理JavaFX –哦&#xff0c;对不起&#xff0c;我的意思是“多层富客户端”&#xff01; 因此&#xff0c;这使我来看看JFXPanel 。 JFXPanel是一个javax.swing.JComponent&#xff0c;用于将JavaFX内容嵌入到Swing-UI中。 JFXPanel的用…

关于nodejs中npm命令没有反应的解决方法

最近在学习angularJS&#xff0c;正在做一个单页面应用&#xff0c;在安装nodejs之后&#xff0c;发现命令行传了输入npm -v能输出结果外&#xff0c;其余npm的任何操作都没有反应&#xff0c;一开始我以为是下载的比较慢&#xff0c;等了半小时还是没动静&#xff0c;只有下标…

Red Hat Enterprise 5 server 上安装 memcached 的问题记录

国内私募机构九鼎控股打造APP&#xff0c;来就送 20元现金领取地址&#xff1a;http://jdb.jiudingcapital.com/phone.html内部邀请码&#xff1a;C8E245J &#xff08;不写邀请码&#xff0c;没有现金送&#xff09;国内私募机构九鼎控股打造&#xff0c;九鼎投资是在全国股份…

统计一个panel中lable的个数

int n panel.Controls.OfType<Label>().Count();转载于:https://www.cnblogs.com/linji/archive/2012/09/20/2694640.html

Java扩展机制可加载所有JAR

Java扩展机制在Java教程中被描述为“一种标准的&#xff0c;可伸缩的方式&#xff0c;以使自定义API可供Java平台上运行的所有应用程序使用。” 如了解扩展类加载中所述 &#xff0c;“扩展框架利用类加载委托机制”&#xff0c;其中扩展类在rt.jar &#xff08;和相关的JAR&am…

js中的 return false;

总的来说return false 的作用就是阻止事件的默认行为 1、 function check() { if(form.title.value"") { alert("请输入文章标题!"); return false; //注意不能写成 return(false); } if(form.content.value"") { alert("文章正文不能为空…

C++的文艺复兴: Why C++? 王者归来

因为又有人叫我去Quora的C2C站去回答问题了&#xff0c;这回是 关于 《2012 不宜进入的三个技术点ActionScript&#xff0c;Thread 和 C&#xff0c; C争议的争议最大。(要我说&#xff0c;.NET比C更需要慎重进入&#xff0c;呵)。我就在这里回复一下这个问题吧。 正好我前段时…

PAT_B_1012 数字分类 (有待改进)

题目描述&#xff1a; 给定一系列正整数&#xff0c;请按要求对数字进行分类&#xff0c;并输出以下 5 个数字&#xff1a; A​1​​ 能被 5 整除的数字中所有偶数的和&#xff1b; A​2​​ 将被 5 除后余 1 的数字按给出顺序进行交错求和&#xff0c;即计算 n​1​​ −n…

Drools和jBPM KIE A​​pps平台

随着Drools和jBPM&#xff08;KIE&#xff09;6系列出现了一个新的工作台&#xff0c;并有望最终实现用户的可扩展性。 我终于有了一些预告片&#xff0c;以显示此工作原理以及所存储的内容。 确保选择1080p并全屏显示&#xff0c;以达到最佳效果。 &#xff08;点击放大&…