0
Jersey (2.22.2) & JaxRs를 사용하여 fileupload에 대한 지원을 구축하고 싶습니다. 이것은 POST 요청을 가로 챌 내 자원 방법Jersey 및 JaxR과 함께 작동하지 않는 다중 폼 데이터 데이터
@ApplicationPath("rest")
public class DsmJaxRsApplication extends Application {
@Override
public Set<Class<?>> getClasses() {
Set<Class<?>> classes = new HashSet<>();
classes.add(FileUploadResource.class);
classes.add(MultiPartFeature.class);
return classes;
}
}
입니다 :
이
내 응용 프로그램입니다@POST
@Consumes(MediaType.MULTIPART_FORM_DATA)
@Produces(MediaType.TEXT_PLAIN)
@Path("upload")
public Response uploadImportFile(@FormDataParam("reason") String reason,
@FormDataParam("fileName") String fileName,
@FormDataParam("file") InputStream fileContent) {
checkCreateBulkChangeAllowed();
return Response.ok().build();
}
는 그리고 이것은 내 요청 페이로드 :
------WebKitFormBoundaryAh9J98cKgsOv6WCr
Content-Disposition: form-data; name="reason"
wwwww
------WebKitFormBoundaryAh9J98cKgsOv6WCr
Content-Disposition: form-data; name="fileName"
DSM_CH_Bulk_new.xlsx
------WebKitFormBoundaryAh9J98cKgsOv6WCr
Content-Disposition: form-data; name="file"; filename="DSM_CH_Bulk_new.xlsx"
Content-Type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet
------WebKitFormBoundaryAh9J98cKgsOv6WCr--
문제 그 방법 안에는 fileContent
과 reason
이 있습니다. 그 이유는 "wwww"이어야하고 fileName
은 항상 null
입니다. 누구나 내가 뭘 잘못하고 있는지, 내가 무엇을 놓치고 있는지 알 수 있습니까?
' FormDataContentDisposition' 및 해당 객체도 null이며 web.xml 구성을 제공 할 수 있습니까? 아마도 여기에서 알아낼 수 있습니다. – Marius
@ 마리우스 내 대답을 업데이트했습니다. 또한 나는 사람들이 최종 FormDataMultiPart 엔터티를 사용하는 것을 보았다. 귀하의 리소스 메서드는 다음과 같아야합니다 : public Response uploadImportFile (final FormDataMultiPart entity) {....} –