我需要构建一个可以接收2个二进制文件(每个大约100k)和一些元数据的服务,最好是在json中。
我found this,但它似乎只为其中一个部分提供了一个InputStream。但我需要两个......那该怎么办?
答案 0 :(得分:1)
您有几个选择
只需添加另一个带有不同零件注释的参数
@POST
@Consumes("multipart/form-data")
public Response post(@FormDataParam("file1") InputStream file1,
@FormDaraParam("file2") InputStream file2) {
}
零件可以具有相同的零件名称,因此您可以
@POST
@Consumes("multipart/form-data")
public Response post(@FormDataParam("file") List<FormDataBodyPart> files) {
for (FormDataBodyPart file: files) {
FormDataContentDisposition fdcd = file.getFormDataContentDisposition();
String fileName = fdcd = getFileName();
InputStream is = file.getValueAs(InputStream.class);
}
}
您可以遍历整个多部分身体
@POST
@Consumes("multipart/form-data")
public Response post(FormDataMultiPart mulitPart) {
Map<String, List<FormDataBodyPart>> fields = multiPart.getFields();
}
另见: