当前位置: 首页 > 建站教程

SpringBoot中怎么上传和下载文件

时间:2026-01-31 10:58:41

在SpringBoot中上传和下载文件可以通过以下步骤实现:

    上传文件:
@RestControllerpublic class FileUploadController {@PostMapping("/upload")public String uploadFile(@RequestParam("file") MultipartFile file) {try {// 保存文件到指定路径File newFile = new File("path/to/save/" + file.getOriginalFilename());file.transferTo(newFile);return "File uploaded successfully";} catch (IOException e) {return "File upload failed";}}}
    下载文件:
@RestControllerpublic class FileDownloadController {@GetMapping("/download/{fileName}")public ResponseEntity<Resource> downloadFile(@PathVariable String fileName) {Resource resource = new FileSystemResource("path/to/save/" + fileName);HttpHeaders headers = new HttpHeaders();headers.add(HttpHeaders.CONTENT_DISPOSITION, "attachment; filename=" + resource.getFilename());return ResponseEntity.ok().headers(headers).contentLength(resource.contentLength()).contentType(MediaType.APPLICATION_OCTET_STREAM).body(resource);}}

在上传文件中,通过@RequestParam注解获取上传的文件,然后保存到指定路径。在下载文件中,通过PathVariable注解获取要下载文件的文件名,然后返回对应的文件资源,设置响应头使浏览器下载文件。


上一篇:php中enum的用法是什么
下一篇:php pow函数的作用是什么
springboot
  • 英特尔与 Vertiv 合作开发液冷 AI 处理器
  • 英特尔第五代 Xeon CPU 来了:详细信息和行业反应
  • 由于云计算放缓引发扩张担忧,甲骨文股价暴跌
  • Web开发状况报告详细介绍可组合架构的优点
  • 如何使用 PowerShell 的 Get-Date Cmdlet 创建时间戳
  • 美光在数据中心需求增长后给出了强有力的预测
  • 2027服务器市场价值将接近1960亿美元
  • 生成式人工智能的下一步是什么?
  • 分享在外部存储上安装Ubuntu的5种方法技巧
  • 全球数据中心发展的关键考虑因素
  • 英特尔与 Vertiv 合作开发液冷 AI 处理器

    英特尔第五代 Xeon CPU 来了:详细信息和行业反应

    由于云计算放缓引发扩张担忧,甲骨文股价暴跌

    Web开发状况报告详细介绍可组合架构的优点

    如何使用 PowerShell 的 Get-Date Cmdlet 创建时间戳

    美光在数据中心需求增长后给出了强有力的预测

    2027服务器市场价值将接近1960亿美元

    生成式人工智能的下一步是什么?

    分享在外部存储上安装Ubuntu的5种方法技巧

    全球数据中心发展的关键考虑因素