首页 > 解决方案 > 如何将 multipartFile 作为输入?

问题描述

我正在尝试在 java 中创建图像上传资源。我的功能如下所示:

Response fun(@FormDataParam("json") Employee emp, 
             @FormDataParam("file") MultipartFile file){

}

如果我使用邮递员提供文件输入,则文件的值结果为空。如果我将InputStream其作为参数代替MultipartFile它,则可以按预期工作。我在这里错过了什么吗?

标签: javaspringjerseydropwizard

解决方案


请求类:

    import java.util.List;

    import org.springframework.web.multipart.MultipartFile;

    public class UserDataForm {

        private String name;
        private List<MultipartFile> file;

        public String getName() {
            return name;
        }
        public void setName(String name) {
            this.name = name;
        }
        public List<MultipartFile> getFile() {
            return file;
        }
        public void setFile(List<MultipartFile> file) {
            this.file = file;
        }
        @Override
        public String toString() {
            return "UserDataForm [name=" + name + ", file=" + file + "]";
        }
}

第二个配置:

@Bean
public CommonsMultipartResolver multipartResolver() {
    CommonsMultipartResolver resolver = new CommonsMultipartResolver();
    //resolver.setMaxInMemorySize(10000); //Define your max or min file size
    resolver.setDefaultEncoding("utf-8");
    return resolver;
}

控制器层:

    /*you can also remove @ModelAttribute that works same*/
        @RequestMapping(value = "userInfoTest" , method = RequestMethod.POST)
        public ResponseJson getInfo(@ModelAttribute UserDataForm user) {
            response.setResponse("Class Info" + user);
            return response;
        }

在此处输入图像描述


推荐阅读