尝试使用Android设备上传文件时出现ExceptionInInitializerError

时间:2012-02-13 11:42:43

标签: android upload jersey multipart scribe

我最后一次尝试将图像上传到我的服务器,我的代码在我的计算机上从硬盘上传时起作用,但是当我在Android应用程序中使用完全相同的代码时,我遇到了这个错误:< / p>

E/AndroidRuntime(26170): Caused by: java.lang.ExceptionInInitializerError

这是我的代码:

public String uploadFile(File imageFile) {

    FormDataMultiPart form = new FormDataMultiPart().field("content", imageFile, MediaType.MULTIPART_FORM_DATA_TYPE)
    WebResource webResource = Client.create().resource(serverURL);
    ClientResponse response = webResource.type(MediaType.MULTIPART_FORM_DATA).accept(MediaType.APPLICATION_JSON).post(ClientResponse.class, form);
    return response.toString();

}

这是在Android设备上遇到错误的方法的第一行。这一个:

FormDataMultiPart form = new FormDataMultiPart().field("content", imageFile, MediaType.MULTIPART_FORM_DATA_TYPE)

唯一的变量是imageFile,当我选择在普通的Java应用程序(而不是Android应用程序)中运行此代码时,上传图像没有任何问题。

我的android清单中有这个权限:

&lt; uses-permission android:name =“android.permission.WRITE_EXTERNAL_STORAGE”/&gt;

另外,在我遇到错误之前,我决定打印出文件中可以获得的所有信息,这一切都是正确的,所以我确定它是正确的文件并且它不是空的。

我正在使用Jersey库来尝试此操作,因为Scribe已知道文件上传存在问题。

有没有人知道为什么我只在Android设备上遇到此错误?

修改

这是错误的堆栈跟踪。第733行是这一行:

FormDataMultiPart form = new FormDataMultiPart().field("content", imageFile, MediaType.MULTIPART_FORM_DATA_TYPE)

Jersey Error Stack Trace

0 个答案:

没有答案