Dropwizard 0.7.0을 사용하여 파일 업로드 용 API를 작성하고 있습니다. 업로드 된 파일 크기 제한의 유효성을 검사하는 데 문제가 있습니다. ------------------Dropwizard REST API를 통해 업로드 된 파일의 크기를 찾는 방법
java.lang.IllegalStateException: No multipart config for servlet
at org.eclipse.jetty.server.Request.getParts(Request.java:2075) ~[jetty- server-9.0.7.v20131107.jar:9.0.7.v20131107]
at org.eclipse.jetty.server.Request.getPart(Request.java:2055) ~[jetty-server-9.0.7.v20131107.jar:9.0.7.v20131107]
편집 : 나는 그것이 오류가 발생 디스크
@POST
@Consumes(MediaType.MULTIPART_FORM_DATA)
@Produces(MediaType.TEXT_PLAIN)
public Response uploadFile(@Context final HttpServletRequest request, @FormDataParam("file") FormDataBodyPart fileBodyPart) {
/*
* Check the request size
*/
request.getPart("file").getSize();
.........
}
에 파일을 쓰기 전에 크기를 확인하려면 ----
@ 데이비드
그러나 다른 오류com.sun.jersey.spi.inject.Errors: The following errors and warnings have been detected with resource and/or provider classes:
org.glassfish.jersey.media.multipart.file.FormDataBodyPart
org.glassfish.jersey.media.multipart.file.FileDataBodyPart
org.glassfish.jersey.media.multipart.FormDataContentDisposition
로 실행 0.8.0을 dropwizard로 업그레이드
env.jersey().register(MultiPartFeature.class);
(제 1 장애 후)도 이러한 종속성
<dependency>
<groupId>io.dropwizard</groupId>
<artifactId>dropwizard-forms</artifactId>
<version>${dropwizard.version}</version>
</dependency>
및
<dependency>
<groupId>org.glassfish.jersey.media</groupId>
<artifactId>jersey-media-multipart</artifactId>
<version>2.23.2</version>
</dependency>
가
bootstrap.addBundle(new MultiPartBundle());
을 첨가하고,이를 이용 3,691,363,210
나는 무엇을 여기에서 놓치고 있냐?
본인은 0.7.0 버전을 사용해야하고, 의존성이 자리에 확인을 수행 할 수 없으면 파일을 업로드 할 수 있습니다. 또한 멀티 파트 구성 요소를 필터에 설정하려고했습니다. 최종 MultipartConfigElement MULTI_PART_CONFIG = new MultipartConfigElement ("", 102400, -1L, -1); ServletRequest.setAttribute (요청 .__ MULTIPART_CONFIG_ELEMENT, MULTI_PART_CONFIG); – Manohar
FormDataContentDisposition.getSize() 반환 -1 multipart 구성 요소가있는 필터를 추가하면 오류가 발생합니다. java.io.IOException : 다중 요청에 대한 내용이 누락되었습니다. \t at org.eclipse.jetty.util.MultiPartInputStreamParser.parse (MultiPartInputStreamParser.java:494) org.eclipse.jetty.util.MultiPartInputStreamParser.getParts (MultiPartInputStreamParser.java:402) org.eclipse.jetty.server.Request.getParts에서 \t (Request.java:2083) \t에서 \t org.eclipse.jetty.server.Request.getPart (Request.java:2055) – Manohar