当前位置: 首页 > 知识库问答 >
问题:

使用Java在Jersey上创建多个文件列表

曹凯泽
2023-03-14

我已经看到了许多关于如何只使用一个文件来实现这一点的示例,但我希望在单个REST调用中接受两个文件列表,并按名称引用每个列表。我用这个作为我的方法:

@POST
@Path("/initialize")
@Consumes(MediaType.MULTIPART_FORM_DATA)
public String initialize(MultiPart data) {
    List<File> maps = new ArrayList<>();
    List<File> contexts = new ArrayList<>();

    for(BodyPart bodyPart : data.getBodyParts()){
        String name = bodyPart.getContentDisposition().getParameters().get("name");
        if(name != null && name.equals("maps")){
            //get the files from this bodyPart and add them to maps
        } else if (name != null && name.equals("contexts")){
            //get the files from this bodyPart and add them to contexts
        }
    }
    return "foo";
}

谁能帮我完成最后一步,从bodyParts中获取实际的输入流?他们有一个getEntity()字段,但我不确定这就是我要找的。

共有1个答案

庄高谊
2023-03-14

试试这个:

@POST
@Path("upload")
@Produces(MediaType.TEXT_PLAIN)
@Consumes(MediaType.MULTIPART_FORM_DATA)
 public String uploadMultipleFile(
        FormDataMultiPart multiform) {

    BodyPartEntity bodyPartEntity;
    String uploadedFileLocation;
    for(BodyPart part: multiform.getBodyParts()){
        bodyPartEntity = (BodyPartEntity) part.getEntity();
        uploadedFileLocation = "c://test/" + part.getContentDisposition().getFileName();
        saveToFile(bodyPartEntity.getInputStream(), uploadedFileLocation);
    }
    return "OK";
}
 类似资料:
  • 所以,我的方案是:我的应用程序A项目使用Java OpenCV库,模块B也是一个使用Java OpenCV库的库模块。 我的模块设置是这样的:在应用程序A我编译模块B和B模块编译JavaOpenCV库,但我得到: 错误:任务': app: dexDebug'的执行失败。 /Users/rafaelruizmunoz/Library/Android/sdk/build-tools/21.1.2/dx

  • 问题内容: 我编写了一个名为Main.java的.java文件,并已在Windows命令提示符下使用javac对其进行了编译。编译器正在创建多个.class文件(称为Main.class,Main $ 1.class和Main $ 2.class,大概是因为我的Main.java文件中有匿名内部类)。我试图创建一个可运行的.jar文件,以便双击运行该应用程序(它是Java Swing应用程序)的快

  • 我编写了一个名为Main.java的. java文件,并使用Windows命令提示符中的javac对其进行了编译。编译器正在创建多个. class文件(称为Main.class,Main$1.class, 然后,命令提示符输出以下文本: 尽管如此,当我双击文件时。jar文件在Windows资源管理器中,简单地说,什么都不会发生。没有打开swing应用程序。 希望有人能帮我解决这个问题。非常感谢。

  • 我已经寻找和努力了三天,让这个工作,但我就是做不到。我想做的是使用多文件输入表单,然后上传它们。我不能只使用固定数量的文件上传。我在StackOverflow上尝试了许多解决方案,但我找不到一个有效的。 这是我的上传控制器 我的上传表格是这样的。 我一直有这样的错误: 您没有选择要上载的文件。 下面是示例的数组: 数组 如果我选择2个文件,我有这样的连续5次。我也使用标准的上传库。

  • 我想创建单独的日志文件,一个用于信息,另一个用于调试,我正在使用下面的log4j.property文件,请建议如何修改不同文件中的两级日志记录, 我想请求请发送我更新的属性文件而不是给我搜索或探索的指针,因为我已经花了3-4个小时在Google和StackOverflow上搜索这个解决方案, 提前道谢。