我一直在做很多REST教程并享受它们。最近,我尝试用Netbeans编写一个球衣多部分webapp,但我似乎不能,因为它看起来似乎缺少了我的球衣库。
我下载了jersey-multipart.jar文件,但仍然没有帮助:
@Path("/file")
public class UploadFileService {
@POST
@Path("/upload")
@Consumes(MediaType.MULTIPART_FORM_DATA)
public Response uploadFile(
@FormDataParam("file") InputStream uploadedInputStream,
@FormDataParam("file") FormDataContentDisposition fileDetail) {
此代码来自博客。我试图将它放在我的webapp中,但是@FormDataParam标记和FormDataContentDisposition类无法识别。我下载了jersey-multipart.jar,它似乎解决了@FormDataParam标记问题,但没有解决FormDataContentDisposition类。
我正在使用Tomcat 7.0。
如何成功创建一个没有任何问题的泽西多部分webapp?为什么在Netbeans的球衣库中不包含泽西多部件jar文件?
感谢。
答案 0 :(得分:2)
这两者的进口是
import org.glassfish.jersey.media.multipart.FormDataContentDisposition;
import org.glassfish.jersey.media.multipart.FormDataParam;
如果您使用Maven,请添加此依赖项:
<dependency>
<groupId>org.glassfish.jersey.media</groupId>
<artifactId>jersey-media-multipart</artifactId>
<version>2.0</version>
<type>jar</type>
</dependency>
答案 1 :(得分:1)
与jersey-media-multipart
依赖关系一起,而不是Application
(见下文),您可以配置ResourceConfig
:
@ApplicationPath("/")
public class AppConfig extends ResourceConfig {
public AppConfig() {
packages("packages.to.scan");
register(MultiPartFeature.class);
}
}
或web.xml
中的Jersey REST配置:
<init-param>
<param-name>jersey.config.server.provider.classnames</param-name>
<param-value>org.glassfish.jersey.media.multipart.MultiPartFeature</param-value>
</init-param>