springmvc文件上传与下载,springmvc怎么实现文件上传和下载

科技资讯 投稿 5000 0 评论

springmvc文件上传与下载,springmvc怎么实现文件上传和下载

本章内容给大家谈谈关于遇上springmvc怎么实现文件上传和下载等问题,我们该怎么处理呢。下面这篇文章将为你提供一个解决思路,希望能帮你解决到相关问题。

1、SpringMVC文件上传

SpringMVC文件上传可以使用一下几种方式:

1)使用CommonsMultipartResolver处理multipart请求,将文件保存到指定文件夹;

2)使用MultipartFile接口处理multipart请求,将文件保存到指定文件夹;

3)使用SpringMVC的MultipartHttpServletRequest接口处理multipart请求,将文件保存到指定文件夹;

4)使用SpringMVC的HttpServletRequest接口处理multipart请求,将文件保存到指定文件夹。

2、SpringMVC文件下载

SpringMVC文件下载可以使用以下几种方式:

1)使用InputStreamResource处理文件下载,将文件转换成InputStreamResource后返回;

2)使用ByteArrayResource处理文件下载,将文件转换成ByteArrayResource后返回;

3)使用Resource处理文件下载,将文件转换成Resource后返回;

4)使用FileSystemResource处理文件下载,将文件转换成FileSystemResource后返回。

3、SpringMVC文件上传和下载实现代码


// 文件上传
@RequestMapping(value = "/upload", method = RequestMethod.POST)
public String upload(@RequestParam("file") MultipartFile file) {
    if (file.isEmpty()) {
        return "上传失败,请选择文件";
    }
    String fileName = file.getOriginalFilename();
    String filePath = "/Users/xxx/Desktop/";
    File dest = new File(filePath + fileName);
    try {
        file.transferTo(dest);
        return "上传成功";
    } catch (IOException e) {
        e.printStackTrace();
    }
    return "上传失败!";
}

// 文件下载
@RequestMapping("/download")
public ResponseEntity downloadFile() {
    String fileName = "xxx.jpg";
    String filePath = "/Users/xxx/Desktop/";
    File file = new File(filePath + fileName);
    Resource resource = new FileSystemResource(file);
    if (resource.exists()) {
        return ResponseEntity
                .ok()
                .header(HttpHeaders.CONTENT_DISPOSITION, "attachment; filename=\"" + resource.getFilename() + "\"")
                .body(resource);
    } else {
        return ResponseEntity.notFound().build();
    }
}

总结

以上就是为你整理的springmvc怎么实现文件上传和下载全部内容,希望文章能够帮你解决相关问题,更多请关注本站相关栏目的其它相关文章!

编程笔记 » springmvc文件上传与下载,springmvc怎么实现文件上传和下载

赞同 (24) or 分享 (0)
游客 发表我的评论   换个身份
取消评论

表情
(0)个小伙伴在吐槽