2

ファイルのアップロードにJerseyを使用しています。メソッドを定義しました:

@POST
@Path("/upload")
@Consumes("multipart/form-data")
public Collection<Message> uploadImage(@FormDataParam("file") InputStream uploadedInputStream,
            @FormDataParam("file") FormDataContentDisposition fileDetail) throws IOException {
}

そして、テストのために Jersey Client から呼び出しを呼び出します。

ClientConfig cc = new DefaultClientConfig();
cc.getClasses().add(MultiPartWriter.class);
Client client = Client.create(cc);
String url = "http://localhost:8080/API/api/images/upload/150";
File f = new File("C:/Pictures/1360_435x300.jpg");
FormDataMultiPart form = new FormDataMultiPart();
form.bodyPart(new FileDataBodyPart("thumbnail", f));
String s = client.resource(url).type(MediaType.MULTIPART_FORM_DATA).accept(MediaType.APPLICATION_JSON).post(String.class, form);

しかし、私は得る:

SEVERE: メソッド public java.util.Collection ImageResource.uploadImage(java.io.InputStream,com.sun.jersey.core.header.FormDataContentDisposition) の依存関係が見つからないため、インデックス 1 のパラメータで java.io.IOException がスローされます

なにが問題ですか?

4

3 に答える 3

4

すべてのライブラリが同じバージョン (1.13 など) であることを確認し、mimepull.jar と jersey-multipart.jar も忘れずに追加してください。

于 2012-08-30T23:25:54.150 に答える
0

マルチパート処理に関連する Maven 依存関係を追加する必要があります。

    <dependency> <!-- choose your version -->
        <groupId>org.jvnet</groupId>
        <artifactId>mimepull</artifactId>
        <version>1.6</version>
    </dependency>
    <dependency> <!-- choose your version -->
        <groupId>com.sun.jersey.contribs</groupId>
        <artifactId>jersey-multipart</artifactId>
        <version>1.18.1</version>
    </dependency>

必要な場合は、Jersey バージョンの依存関係のバージョンについてhttp://mvnrepository.com/を確認してください。

于 2016-04-26T03:12:21.330 に答える
0

@john 4d5 に感謝します。すべての jar バージョンが同期していることを確認してください。すべての可能な jar をここで見つけることができます。:) https://maven.java.net/index.html#welcome

于 2013-04-07T18:10:07.407 に答える