1

Mime2台の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()コードに示されているように、新しいオブジェクトをインスタンス化しようとすると、アプリがクラッシュします。私は多くの投稿を通過しましたが、何も試していません。よろしくお願いします!

ありがとう。

4

0 に答える 0