【问题标题】:Unable to upload file when using JQuery file upload, Spring MVC and Spring Security.使用 JQuery 文件上传、Spring MVC 和 Spring Security 时无法上传文件。
【发布时间】:2015-11-09 06:34:24
【问题描述】:

我正在实现一个简单的图片上传网站。使用的框架是 jQuery file upload 春季MVC 春季安全

我已经为文件上传实现了一个表单和一个控制器,但是在尝试读取文件时,文件似乎不可用。 我已经为安全_csrf 苦苦挣扎了一段时间,但我已经弄清楚了。 现在,当我尝试读取文件时,到达控制器时无法读取任何文件。 这是源代码 https://gist.github.com/AdelinGhanaem/f67b311cda7aa9efe83c

【问题讨论】:

    标签: jquery spring spring-mvc spring-security jquery-file-upload


    【解决方案1】:

    经过大量调试和检查 Spring Security/MVC 架构,这是我想出的:

    @RequestMapping(value = "/upload", method = RequestMethod.POST)
    public ResponseEntity<UploadPictureResult> pictureUpload(FirewalledRequest initialRequest) {
         DefaultMultipartHttpServletRequest request = (DefaultMultipartHttpServletRequest) initialRequest.getRequest();
    
        try {
            MultipartFile multipartFile  = request.getFile("files[]");
            List<MultipartFile> multipartFileList = request.getFiles("files[]");
    
            Iterator<String> iterator = request.getFileNames();
    
            while (iterator.hasNext()) {
                MultipartFile file = request.getFile(iterator.next());
                service.save(toImage(file));
            }
        } catch (Exception e) {
            return new ResponseEntity<UploadPictureResult>(new UploadPictureResult(),
                    HttpStatus.INTERNAL_SERVER_ERROR);
        }
    
        return new ResponseEntity<UploadPictureResult>(new UploadPictureResult(), HttpStatus.OK);
    }
    

    注意 FirewallRequest !!!

    【讨论】:

      猜你喜欢
      • 2015-03-29
      • 2016-09-07
      • 2015-10-28
      • 2014-10-26
      • 1970-01-01
      • 2014-07-17
      • 2015-03-29
      • 1970-01-01
      相关资源
      最近更新 更多