- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试将选定的图像从图库上传到保管箱。我已经被困了好几天了,因为我无法恢复运行时异常
我的 onActivityResult() 是
if(requestCode == PIC_UPLOAD) {
System.out.println("Reahced 1");
Uri selectedImage = data.getData();
String[] filePathColumn ={MediaStore.Images.Media.DATA};
Cursor cursor = getContentResolver().query(selectedImage,
filePathColumn, null, null, null); cursor.moveToFirst();
System.out.println("Reahced 2");
int columnIndex = cursor.getColumnIndex(filePathColumn[0]);
String filePath = cursor.getString(columnIndex);
cursor.close();
Uri imageUri=data.getData();
List<NameValuePair> params = new ArrayList<NameValuePair>(1);
params.add(new BasicNameValuePair("image", imageUri.getPath()));
System.out.println("Reahced 3");
/* String outPath = imageUri.toString(); File outFile = new
File(outPath); FileInputStream fis = new FileInputStream(outFile);
mDBApi.putFileOverwriteRequest("/Pic1", fis, outFile.length(),null);
*/
Uri photoUri = data.getData();
String[] proj = {MediaStore.Images.Media.DATA };
Cursor actualimagecursor = managedQuery(photoUri, proj,null, null, null);
int actual_image_column_index =
actualimagecursor.getColumnIndexOrThrow(MediaStore.Images.Media.DATA);
actualimagecursor.moveToFirst();
String img_path =actualimagecursor.getString(actual_image_column_index);
System.out.println("Image location: " + img_path);
System.out.println("Reached 1");
uploadDropbox(img_path);
}
uploadDropbox 正文是:
private void uploadDropbox(String URL) {
// TODO Auto-generated method stub
AppKeyPair appKeys = new AppKeyPair(APP_KEY, APP_SECRET);
AndroidAuthSession session = new AndroidAuthSession(appKeys, ACCESS_TYPE);
mDBApi = new DropboxAPI<AndroidAuthSession>(session);
System.out.println(URL);
System.out.println("Reahced 4");
mDBApi.getSession().startAuthentication(MyCamActivity.this);
System.out.println("Reahced 5");
// AccessTokenPair access = getStoredKeys();
// mDBApi.getSession().setAccessTokenPair(access);
FileInputStream inputStream = null;
try {
File file = new File(URL.toString());
inputStream = new FileInputStream(file);
com.dropbox.client2.DropboxAPI.Entry newEntry = mDBApi.putFile("/testing.txt", inputStream, file.length(), null, null);
Log.i("DbExampleLog", "The uploaded file's rev is: " + newEntry.rev);
} catch (DropboxUnlinkedException e) {
// User has unlinked, ask them to link again here.
Log.e("DbExampleLog", "User has unlinked.");
} catch (DropboxException e) {
Log.e("DbExampleLog", "Something went wrong while uploading.");
} catch (FileNotFoundException e) {
Log.e("DbExampleLog", "File not found.");
} finally {
if (inputStream != null) {
try {
inputStream.close();
} catch (IOException e) {}
}
}
}
onResume 方法主体:
protected void onResume() {
super.onResume();
if (mDBApi.getSession().authenticationSuccessful()) {
try {
// MANDATORY call to complete auth.
// Sets the access token on the session
mDBApi.getSession().finishAuthentication();
AccessTokenPair tokens = mDBApi.getSession().getAccessTokenPair();
// Provide your own storeKeys to persist the access token pair
// A typical way to store tokens is using SharedPreferences
storeKeys(tokens.key, tokens.secret);
} catch (IllegalStateException e) {
Log.i("DbAuthLog", "Error authenticating", e);
}
}
}
私有(private) AccessTokenPair getStoredKeys() { //TODO 自动生成的方法 stub
return mDBApi.getSession().getAccessTokenPair();
}
private void storeKeys(字符串 key , 字符串 secret ) { //TODO 自动生成的方法 stub
// Save the access key for later
SharedPreferences prefs = getSharedPreferences(ACCOUNT_PREFS_NAME, 0);
Editor edit = prefs.edit();
edit.putString(ACCESS_KEY_NAME, key);
edit.putString(ACCESS_SECRET_NAME, secret);
edit.commit();
}
AndroidManifest.xml
<activity
android:name="com.dropbox.client2.android.AuthActivity"
android:launchMode="singleTask"
android:configChanges="orientation|keyboard">
<intent-filter>
<!-- Change this to be db- followed by your app key -->
<data android:scheme="db-MyKey" />
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.BROWSABLE"/>
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
</activity>
<activity
android:name=".MyCamActivity"
android:label="@string/app_name"
android:screenOrientation="nosensor" android:configChanges="keyboardHidden|orientation"
android:uiOptions="splitActionBarWhenNarrow"
android:clearTaskOnLaunch="true"
>
错误**:
01-23 14:58:00.855: D/dalvikvm(4238): GC_FOR_ALLOC freed 104K, 2% free 12729K/12935K, paused 16ms
01-23 14:58:00.894: I/System.out(4238): Its not null
01-23 14:58:00.901: D/AndroidRuntime(4238): Shutting down VM
01-23 14:58:00.901: W/dalvikvm(4238): threadid=1: thread exiting with uncaught exception (group=0x40a511f8)
01-23 14:58:00.901: E/AndroidRuntime(4238): FATAL EXCEPTION: main
01-23 14:58:00.901: E/AndroidRuntime(4238): java.lang.RuntimeException: Unable to resume activity {cam.pack/cam.pack.MyCamActivity}: java.lang.NullPointerException
01-23 14:58:00.901: E/AndroidRuntime(4238): at android.app.ActivityThread.performResumeActivity(ActivityThread.java:2444)
01-23 14:58:00.901: E/AndroidRuntime(4238): at android.app.ActivityThread.handleResumeActivity(ActivityThread.java:2472)
01-23 14:58:00.901: E/AndroidRuntime(4238): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1986)
01-23 14:58:00.901: E/AndroidRuntime(4238): at android.app.ActivityThread.access$600(ActivityThread.java:123)
01-23 14:58:00.901: E/AndroidRuntime(4238): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1147)
01-23 14:58:00.901: E/AndroidRuntime(4238): at android.os.Handler.dispatchMessage(Handler.java:99)
01-23 14:58:00.901: E/AndroidRuntime(4238): at android.os.Looper.loop(Looper.java:137)
01-23 14:58:00.901: E/AndroidRuntime(4238): at android.app.ActivityThread.main(ActivityThread.java:4424)
01-23 14:58:00.901: E/AndroidRuntime(4238): at java.lang.reflect.Method.invokeNative(Native Method)
01-23 14:58:00.901: E/AndroidRuntime(4238): at java.lang.reflect.Method.invoke(Method.java:511)
01-23 14:58:00.901: E/AndroidRuntime(4238): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:784)
01-23 14:58:00.901: E/AndroidRuntime(4238): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:551)
01-23 14:58:00.901: E/AndroidRuntime(4238): at dalvik.system.NativeStart.main(Native Method)
01-23 14:58:00.901: E/AndroidRuntime(4238): Caused by: java.lang.NullPointerException
01-23 14:58:00.901: E/AndroidRuntime(4238): at cam.pack.MyCamActivity.onResume(MyCamActivity.java:571)
01-23 14:58:00.901: E/AndroidRuntime(4238): at android.app.Instrumentation.callActivityOnResume(Instrumentation.java:1154)
01-23 14:58:00.901: E/AndroidRuntime(4238): at android.app.Activity.performResume(Activity.java:4539)
01-23 14:58:00.901: E/AndroidRuntime(4238): at android.app.ActivityThread.performResumeActivity(ActivityThread.java:2434)
01-23 14:58:00.901: E/AndroidRuntime(4238): ... 12 more
最佳答案
我犯了一个错误,我将 dropbox session 放入我自己定义的函数 uploadDropbox()
中,这是一个错误,导致 NullPointerException,因为如果我打印 mDBApi
所以它的NULL
。它没有被初始化。我们必须将这些行放入 onCreate()
中,现在它可以工作了,图像正在上传到 Dropbox
的 CameraUploads 文件夹中。
感谢您的评论。
关于java - 如何上传图片到dropbox?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14476459/
我想将文件从服务器推送到我自己的 Dropbox。我可以在服务器上存储 API token 甚至(虽然不情愿)帐户密码。我不想在服务器上安装 Dropbox。 我还需要在 Dropbox 开发者主页创
有没有办法通过 Dropbox 选择器获取用于共享文档的短网址? 最佳答案 不,不像 Dropbox Core API , Dropbox Chooser不提供获取短 URL 的能力。 当然,这并不妨
关闭。这个问题需要更多focused .它目前不接受答案。 想改善这个问题吗?更新问题,使其仅关注一个问题 editing this post . 5年前关闭。 Improve this questi
已关闭。此问题不符合Stack Overflow guidelines 。目前不接受答案。 这个问题似乎不是关于 a specific programming problem, a software
我正在尝试开发一个使用某种云存储的应用程序。我认为 dropbox 非常适合使用。我已经有了我的应用 key 和应用 key 。 在他们为 DBRoulette 提供的示例中,您通过外部 GUI 登录
我正尝试在我的网络应用程序中迁移到 dropbox-api v2。目前我有打开弹出窗口的实现,用户连接到他/她的保管箱,我得到 token 。我用它来访问用户在后续步骤中在 Dropbox.choos
我正尝试在我的网络应用程序中迁移到 dropbox-api v2。目前我有打开弹出窗口的实现,用户连接到他/她的保管箱,我得到 token 。我用它来访问用户在后续步骤中在 Dropbox.choos
据我所知Zapier基本使用Webhooks将服务相互链接。支持的服务之一是 Dropbox .但是 Dropbox(仍然)不支持 webhook。 (即:Dropbox 无法向选择的任意 webho
Dropbox 是否可以在文件更改时发出通知,即新上传的到达或文件已更改。 最佳答案 正如 Kannan 所指出的,有一个名为 /delta 的新 API 端点。这比轮询或 RSS 更好。 这也可以与
Dropbox Rest api,在函数metatada中有一个名为“hash”的参数https://www.dropbox.com/developers/reference/api#metadata
按照目前的情况,这个问题不适合我们的问答形式。我们希望答案得到事实、引用或专业知识的支持,但这个问题可能会引发辩论、争论、投票或扩展讨论。如果您觉得这个问题可以改进并可能重新打开,visit the
我需要用户授予我的应用访问他们 Dropbox 的权限,但我非常希望他们不必离开我的网站然后再回来。我所知道的身份验证 API 要求用户登录到他们的 Dropbox 帐户,并且他们在 Dropbox
是否可以在拥有该应用程序的所有用户帐户之间共享应用程序保存的数据? 最佳答案 这不是受支持的操作;数据存储 API 实际上是作为本地存储的同步替代品,而不是作为访问单个共享数据库的方式。 更新:现在支
问题是如何在中列出最近修改过的文件保管箱 帐户使用他们的 API? 保管箱 web UI 可以显示 recently changed files 的摘要,但我在他们的 API documentatio
如何使用 dropbox api 编辑文件或文件夹名称? 我正在使用这个引用: https://www.dropbox.com/developers/core/docs 还有什么吗? 这可能吗? 最佳
我正在尝试使用他们的 java API(版本 2-beta-4)将一些文件上传到保管箱,但其中一些文件具有相同的名称。 我想知道的是:我发送文件(例如“file.txt”)到保管箱的原因是什么,该文件
在the document of Dropbox Chooser我们可以从 files[0].link 获取共享页面 url,但我们需要直接下载链接。我如何获得它? 最佳答案 我在 the forum
我正在尝试将一些文件从一个文件夹移动到另一个文件夹。 这是我的 curl 请求: curl -X POST https://api.dropboxapi.com/2/files/move \ --
我有一个网络应用程序,用户可以在其中上传他的 Logo 图片 使用 dropbox api 我可以将文件保存到一个很棒的 dropbox 文件夹中 但是我想获取下载链接,以便使用我的 angular
我需要一个简单的网络表单,它还可以让人们上传一些 pdf。我想我可以做的(因为上传文件的大小和数量)是将这个应用程序的后端绑定(bind)到我的 Dropbox 帐户或我的 box.com 帐户。两种
我是一名优秀的程序员,十分优秀!