我已经管理过创建REST API,该API可以使用链接How can I define a JAX-RS service that processes multi-part data in JEE?来使用MULTIPART_FORM_DATA
下面是我的代码,仅供参考
web.xml
<servlet>
<servlet-name>com.test.ApplicationConfig</servlet-name>
<multipart-config>
<max-file-size>104857600</max-file-size>
<max-request-size>209715200</max-request-size>
<file-size-threshold>52428800</file-size-threshold>
</multipart-config>
</servlet>
ApplicationConfig.java
@javax.ws.rs.ApplicationPath("webresources")
public class ApplicationConfig extends Application
{
@Override
@SuppressWarnings("unchecked")
public Set<Class<?>> getClasses()
{
Set<Class<?>> resources = new java.util.HashSet();
resources.add(SampleService.class);
return resources;
}
}
SampleService.java:
@Path("sample")
@Stateless
public class SampleService
{
@POST
@Path("/test")
@Consumes({ MediaType.MULTIPART_FORM_DATA })
@Produces(
{
MimeTypeUtil.MIMETYPE_PDF
})
public Response testCall(@Context HttpServletRequest httpServletRequest) throws Exception {
一切正常,现在我受制于业务需求,需要从服务器或应用程序级别配置“ multipart-config”。
即从服务器的环境变量/系统属性或动态修改它们来配置最大文件大小,最大请求大小和文件大小阈值。
请有人帮忙。