SpringBoot中怎么实现文件上传和下载功能

   2024-10-22 5800
核心提示:在SpringBoot中实现文件上传和下载功能,通常需要借助Spring的MultipartFile对象来处理文件上传,同时使用OutputStream对象来处

在SpringBoot中实现文件上传和下载功能,通常需要借助Spring的MultipartFile对象来处理文件上传,同时使用OutputStream对象来处理文件下载。以下是一个简单的示例代码:

文件上传:
@RestControllerpublic class FileController {    @PostMapping("/upload")    public String uploadFile(@RequestParam("file") MultipartFile file) {        try {            // 获取文件名            String fileName = file.getOriginalFilename();            // 文件保存路径            String filePath = "C:/upload/";            // 文件保存操作            file.transferTo(new File(filePath + fileName));            return "File uploaded successfully!";        } catch (IOException e) {            e.printStackTrace();            return "Failed to upload file.";        }    }}
文件下载:
@RestControllerpublic class FileController {    @GetMapping("/download")    public ResponseEntity<Resource> downloadFile(@RequestParam String fileName) {        // 文件路径        String filePath = "C:/upload/";        // 获取文件对象        Resource file = new FileSystemResource(filePath + fileName);                HttpHeaders headers = new HttpHeaders();        headers.add(HttpHeaders.CONTENT_DISPOSITION, "attachment; filename=" + fileName);                return ResponseEntity.ok()                .headers(headers)                .contentType(MediaType.APPLICATION_OCTET_STREAM)                .body(file);    }}

在以上代码示例中,文件上传时,通过@RequestParam注解获取前端传递的文件对象,然后使用transferTo方法保存文件到指定路径。文件下载时,通过ResponseEntity返回文件资源对象,并设置响应头信息,以实现文件下载功能。

需要注意的是,以上代码只是一个简单的示例,实际开发中可能需要加入更多的逻辑来处理文件上传和下载,比如文件格式验证、文件大小限制等。

 
举报打赏
 
更多>同类网点查询
推荐图文
推荐网点查询
点击排行

网站首页  |  关于我们  |  联系方式网站留言    |  赣ICP备2021007278号