使用Spring MVC上传Excel文件后,如何解决错误的请求错误?

时间:2018-07-10 10:38:29

标签: spring-mvc

我遇到了这个错误:

  

类型状态报告

     

说明由于以下原因,服务器无法或不会处理请求:   被视为客户错误的内容(例如,格式错误   请求语法,无效的请求消息框架或欺骗性请求   路由)。

这是我的控制器,我正在上载多个Excel文件:

@Controller
@RequestMapping("/")
public class UploadFileController {

    @RequestMapping(value = "uploadFile.do", method = RequestMethod.POST,consumes = {MediaType.MULTIPART_FORM_DATA_VALUE})
    public ModelAndView uploadFile(@ModelAttribute("uploadForm") UploadFile uploadForm, Model map,BindingResult bindingResult) throws org.apache.poi.openxml4j.exceptions.InvalidFormatException{

        ArrayList<UploadFile> uploadFileList = new ArrayList<UploadFile>();
        List<File> files = uploadForm.getFiles();
         for(File excelFile : files){
                try {

                    ((MultipartFile) excelFile).transferTo(new File(((MultipartFile) excelFile).getOriginalFilename()));
                    uploadFileList  = ReadFile.readFile(excelFile);


                } catch (IOException e) {
                    throw new RuntimeException();
                }
            }

         return new ModelAndView("redirect","uploadFileList",uploadFileList);

    }

有人可以帮助我解决这个问题吗?

1 个答案:

答案 0 :(得分:0)

原因是由于以下代码,您调用了transferTo()方法,此后,您无法再次读取文件。

  ((MultipartFile) excelFile).transferTo(new File(((MultipartFile) excelFile).getOriginalFilename()));
  uploadFileList  = ReadFile.readFile(excelFile);//you can not read the file again