如何在 Jersey 中读取上传文件的详细信息
How to read uploaded file details in Jersey
我已经实现了将多个文件上传到 server.But 的 REST 服务,问题是如果我在 REST 中使用 FormDataMultiPart
我无法获取文件详细信息 service.I 可以获取文件content.like 明智的我尝试获取如下文件的详细信息,但它给了我一个错误,说不支持。
@POST
@Consumes(MediaType.MULTIPART_FORM_DATA)
public void upload(FormDataMultiPart formParams)
{
Map<String, List<FormDataBodyPart>> fieldsByName = formParams.getFields();
//Assume i am sending only files with the request
for (List<FormDataBodyPart> fields : fieldsByName.values())
{
for (FormDataBodyPart field : fields)
{
InputStream is = field.getEntityAs(InputStream.class);
String fileName = field.getName();
field.getMediaType();
//Those work perfectly
//This gave me an error
FormDataContentDisposition f=field.getEntityAs(FormDataContentDisposition .class);
System.out.println(f.getFileName());
}
}
}
如果使用 FormDataMultiPart
.
,请告诉我如何获取每个上传文件的文件详细信息,例如 type,name,size
我终于能够访问文件详细信息,这是代码片段。
@POST
@Consumes(MediaType.MULTIPART_FORM_DATA)
public void upload(FormDataMultiPart formParams)
{
Map<String, List<FormDataBodyPart>> fieldsByName = formParams.getFields();
//Assume i am sending only files with the request
for (List<FormDataBodyPart> fields : fieldsByName.values())
{
for (FormDataBodyPart field : fields)
{
InputStream is = field.getEntityAs(InputStream.class);
String fileName = field.getName();
field.getMediaType();
//This working fine
FormDataContentDisposition f=field.getFormDataContentDisposition();
System.out.println(f.getFileName());
}
}
}
我已经实现了将多个文件上传到 server.But 的 REST 服务,问题是如果我在 REST 中使用 FormDataMultiPart
我无法获取文件详细信息 service.I 可以获取文件content.like 明智的我尝试获取如下文件的详细信息,但它给了我一个错误,说不支持。
@POST
@Consumes(MediaType.MULTIPART_FORM_DATA)
public void upload(FormDataMultiPart formParams)
{
Map<String, List<FormDataBodyPart>> fieldsByName = formParams.getFields();
//Assume i am sending only files with the request
for (List<FormDataBodyPart> fields : fieldsByName.values())
{
for (FormDataBodyPart field : fields)
{
InputStream is = field.getEntityAs(InputStream.class);
String fileName = field.getName();
field.getMediaType();
//Those work perfectly
//This gave me an error
FormDataContentDisposition f=field.getEntityAs(FormDataContentDisposition .class);
System.out.println(f.getFileName());
}
}
}
如果使用 FormDataMultiPart
.
type,name,size
我终于能够访问文件详细信息,这是代码片段。
@POST
@Consumes(MediaType.MULTIPART_FORM_DATA)
public void upload(FormDataMultiPart formParams)
{
Map<String, List<FormDataBodyPart>> fieldsByName = formParams.getFields();
//Assume i am sending only files with the request
for (List<FormDataBodyPart> fields : fieldsByName.values())
{
for (FormDataBodyPart field : fields)
{
InputStream is = field.getEntityAs(InputStream.class);
String fileName = field.getName();
field.getMediaType();
//This working fine
FormDataContentDisposition f=field.getFormDataContentDisposition();
System.out.println(f.getFileName());
}
}
}