jarsey上传文件的几个注意点

Maven需要设置:
<dependency>
    <groupId>org.glassfish.jersey.media</groupId>
    <artifactId>jersey-media-multipart</artifactId>
    <version>2.7</version>
</dependency>

服务器端出现错误:No injection source found for a parameter of type public javax.ws.rs.core.Response
启动前要调用ResourceConfig的方法register(MultiPartFeature.class)
类全路径:org.glassfish.jersey.media.multipart.MultiPartFeature

upload方法定义:

@POST
@Consumes(MediaType.MULTIPART_FORM_DATA)
public Response upload(
            @FormDataParam("file") InputStream fileInputStream,
            @FormDataParam("file") FormDataContentDisposition contentDispositionHeader) {



有的资料写成:@FormParam是不对的,猜测是以前版本的用法。
这两个类全路径
org.glassfish.jersey.media.multipart.FormDataParam;
org.glassfish.jersey.media.multipart.FormDataContentDisposition

客户端出现错误:MessageBodyWriter not found for media type
客户端调用target()方法前需要调用Client类的register(MultiPartFeature.class);

你可能感兴趣的:(jarsey上传文件的几个注意点)