我需要通过JAX-R在单个请求中通过JSON数据和Image文件从客户端获取请求。如何在服务器端Java应用程序中接收它以进一步处理它。
@POST
@Path("/path")
@Consumes({MediaType.APPLICATION_JSON, MediaType.MULTIPART_FORM_DATA})
public String get(@Context UriInfo uriInfo,
final MyDTO myDTO,
@FormDataParam("file") final InputStream inputStream,
@FormDataParam("file") final FormDataContentDisposition fileDetail) {
}
我有上面的代码,但它没有按预期工作。
答案 0 :(得分:0)
这是来自工作项目的代码。发送文件数据和一些元数据。尝试相同。
@POST
@Path("import")
@Consumes(MediaType.MULTIPART_FORM_DATA)
@Produces(MediaType.APPLICATION_JSON + "; charset=UTF-8")
@RolesAllowed(SystemRoles.ADMIN)
public void importScenario(@FormDataParam("importScenario") final InputStream is,
@FormDataParam("complectId") final Long complectId) {
LOG.debug("start import file");
if (is == null) {
throw new IllegalArgumentException(MessageBundle.get(InnerMessage.NO_FILE));
}
try {
LOG.debug("start execute import bean");
importService.importScenarioOrComplect(is, complectId);
LOG.debug("end execute import bean");
} catch (FileStorageException e) {
throw new IllegalArgumentException(e);
} catch (STCoreException e) {
throw new EJBException(MessageBundle.get(InnerMessage.CRITICAL_ERROR), e);
} finally {
LOG.debug("end import file");
}
}