繁体   English   中英

Spring MVC文件上传

[英]Spring mvc file upload

我正在处理Spring MVC文件上传。 在视图中,我使用plupload多个文件上传插件。 这是我的上传操作:

 @RequestMapping(value = CrudURI.uploadDo, method = RequestMethod.POST, produces = "application/json")
public @ResponseBody String uploadDo(@RequestBody MultipartFile file, 
        @RequestParam String name, 
        @RequestParam(required=false, defaultValue="-1") int chunks,
        @RequestParam(required=false, defaultValue="-1") int chunk) {


    if (!file.isEmpty()) {
        try {
            byte[] bytes = file.getBytes();
            BufferedOutputStream stream = new BufferedOutputStream(new FileOutputStream(new File("/uploads/"+name)));
            stream.write(bytes);
            stream.close();
        } catch (Exception e) {

        }
    } else {

    }

    System.err.println(file.getOriginalFilename());
    return null;

}

此操作正常进行,没有任何错误或异常,但未保存上传的文件。 有什么问题? 谢谢

只需尝试以下代码:

File fileToSave=new File("/uploads/"+name);
file.transferTo(fileToSave);

还要确保您实际上在映射中获取文件。

Darshan解决方案是正确的,您的原始代码有一个问题,您正在读取的文件为getBytes()而不使用缓冲区,而是使用缓冲区进行写入。

我认为您的问题很可能是您试图覆盖已上传的文件,至少根据您的输出位置"/uploads/"+name 尝试更改名称,而不是添加空白的catch块,而不是添加异常的日志,它将指出您的问题

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM