我正在尝试使用Mime
在 2 个 Android 设备之间传输文件。我有一个sendFile()
(令人惊讶的)发送请求文件的方法。
这是代码:
public void sendFile(File f) throws IOException {
BufferedOutputStream out = new BufferedOutputStream(s.getOutputStream());
String filename =
f.getAbsolutePath().substring(f.getAbsolutePath().lastIndexOf("/") + 1);
MultipartEntity multipartContent = new MultipartEntity();
// send the file thorugh inputstream
InputStreamBody isb =
new InputStreamBody(new FileInputStream(f), filename);
multipartContent.addPart("sentFile", isb);
multipartContent.writeTo(out);
out.flush();
out.close();
}
现在,我正在使用 apache-mime4j-0.5.jar 和 httpmime-4.0-alpha3.jar 文件来支持“MultipartEntity”的使用。现在,jar 位于我的 android(app)项目的“libs”文件中,并且没有导入问题(项目编译......)。不过,我收到了这个运行时错误:
06-17 14:06:29.900: E/AndroidRuntime(22251): FATAL EXCEPTION: Thread-11
06-17 14:06:29.900: E/AndroidRuntime(22251): java.lang.NoSuchMethodError: org.apache.james.mime4j.message.Multipart.<init>
06-17 14:06:29.900: E/AndroidRuntime(22251): at org.apache.http.entity.mime.HttpMultipart.<init> (HttpMultipart.java:64)
06-17 14:06:29.900: E/AndroidRuntime(22251): at org.apache.http.entity.mime.MultipartEntity.<init>(MultipartEntity.java:76)
06-17 14:06:29.900: E/AndroidRuntime(22251): at org.apache.http.entity.mime.MultipartEntity.<init>(MultipartEntity.java:99)
06-17 14:06:29.900: E/AndroidRuntime(22251): at com.cdp.controller.Connection.sendFile(Connection.java:71)
06-17 14:06:29.900: E/AndroidRuntime(22251): at com.cdp.controller.Controller.handleRequest(Controller.java:41)
06-17 14:06:29.900: E/AndroidRuntime(22251): at com.cdp.service.ServerService$SenderThread.run(ServerService.java:109)
这个问题的根源可能是什么?我该如何解决?应用程序在尝试实例化新MultipartEntity()
对象时崩溃,如代码所示。我已经浏览了很多帖子,但我尝试过的都没有。我会感谢你的帮助!
谢谢。