+-
                                
                                    
                                
                                
                                    
                                
                                
                                    
                                         
                                        
                                        
                                        
                                        
                                            
                                        
                                        
                                    
                                
                            
                        
  我试图通过在FormBodyPart中使用它来将文件发送到控制器,而不是直接将文件发送到它.这是收集文件的代码 
  
  
 
 
private void addFile(Collection<FormBodyPart> parts, File inputFile, String fileType)
        throws ClassificationException {
    if (inputFile == null) {
        throw new ClassificationException("Null input file provided");
    }
    if (!inputFile.exists()) {
        throw new ClassificationException("Input file not found: " + inputFile.getAbsolutePath());
    }
    if (fileType != null) {
        String charset = "UTF-8";
        parts.add(new FormBodyPart("file", new FileBody(inputFile, fileType, charset)));
    } else {
        parts.add(new FormBodyPart("file", new FileBody(inputFile, inputFile.getName())));
    }
}
零件集合是一个数组列表,其中将包含文件.
这是我设置Http实体的代码
HttpPost httppost = new HttpPost("http://localhost:9000/upload1");
            MultipartEntity reqEntity1 = new MultipartEntity();
            FormBodyPart part1;
            for (Iterator i$= parts.iterator(); i$.hasNext(); reqEntity1.addPart(part1)) {
                part1 = (FormBodyPart) i$.next();
                System.out.println(part1.getHeader());
            }
            httppost.setEntity(reqEntity1);
            HttpResponse response = httpclient.execute(httppost);
            System.out.println(response);
我的控制器方法声明是
字符串索引(@RequestParam(“文件”)MultipartFile uploadfile)
我从服务器收到错误提示
[400] {“timestamp”:1474898550131,”status”:400,”error”:”Bad Request”,”exception”:”org.springframework.web.multipart.support.MissingServletRequestPartException”,”message”:”Required request part ‘file’ is not present”,”path”:”/upload1″}
我的dispatcher.xml已经包含multipartResolver的bean.
我是Web服务的新手,可能正在犯一些愚蠢的错误.请帮助我,谢谢
  最佳答案 
 
  验证是否有以下项目: 
  
  
 
    
@Bean
public CommonsMultipartResolver multipartResolver() {
    CommonsMultipartResolver multipart = new CommonsMultipartResolver();
    multipart.setMaxUploadSize(3 * 1024 * 1024);
    return multipart;
}
@Bean
@Order(0)
public MultipartFilter multipartFilter() {
    MultipartFilter multipartFilter = new MultipartFilter();
    multipartFilter.setMultipartResolverBeanName("multipartResolver");
    return multipartFilter;
}
并在pplications.properties中:
# MULTIPART (MultipartProperties)
spring.http.multipart.enabled=true 
# Enable support of multi-part uploads.
# spring.http.multipart.file-size-threshold=3 # Threshold after which files will be written to disk. Values can use the suffixed "MB" or "KB" to indicate a Megabyte or Kilobyte size.
spring.http.multipart.location= /
# Intermediate location of uploaded files.
spring.http.multipart.max-file-size=10MB
# Max file size. Values can use the suffixed "MB" or "KB" to indicate a Megabyte or Kilobyte size.
spring.http.multipart.max-request-size=10MB
# Max request size. Values can use the suffixed "MB" or "KB" to indicate a Megabyte or Kilobyte size.
spring.http.multipart.resolve-lazily=false 
# Whether to resolve the multipart request lazily at the time of file or parameter access.
  点击查看更多相关文章 
 
转载注明原文:java-Spring org.springframework.web.multipart.support.MissingServletRequestPartException,必需的请求部分“文件”不存在 - 乐贴网
 
                ![在以下任何来源中均未找到插件[id:'io.spring.dependency-management',版本:'1.0.5.RELEASE',apply:false]:](/theme/ripro/img/thumb-ing.gif)