我正在使用dropwizard,我想一次上传多个文件。
如何更改我的代码以上传多个文件?
我正在使用org.glassfish.jersey.media', 'jersey-media-multipart', '2.17'
进行文件上传。
以下是我上传单个文件的代码:
@Path("/uploadPhoto")
@ApiOperation(
value = "Upload a photo for an Ad",
response = Response.class)
@POST
@Timed
@UnitOfWork
@Consumes(MediaType.MULTIPART_FORM_DATA)
@Produces(MediaType.APPLICATION_JSON)
public Response fileUploaded(@FormDataParam("file") final InputStream inputStream,
@FormDataParam("file") final FormDataContentDisposition contentDispositionHeader) {
List<AdImage> images = new ArrayList<AdImage>();
images.add(writeImageAndSave(inputStream
, contentDispositionHeader));
return Response.ok(toJson(images), MediaType.APPLICATION_JSON).build();
}
答案 0 :(得分:3)
我发现这里是代码:
@Path("/uploadPhoto")
@ApiOperation(
value = "Upload a photo for an Ad",
response = Response.class)
@POST
@Timed
@UnitOfWork
@Consumes(MediaType.MULTIPART_FORM_DATA)
@Produces(MediaType.APPLICATION_JSON)
public Response uploadFile(FormDataMultiPart multiPart) {
List<AdImage> images = new ArrayList<AdImage>();
List<FormDataBodyPart> bodyParts =
multiPart.getFields("file");
for (FormDataBodyPart part : bodyParts) {
images.add(writeImageAndSave(part.getValueAs(InputStream.class
), part.getFormDataContentDisposition()));
}
return Response.ok(toJson(images), MediaType.APPLICATION_JSON).build();
}