Spring MVC文件下载

1年前 (2024-04-28)

在实际的项目开发中,文件的上传和下载可以说是最常用的功能之一,例如图片的上传与下载、邮件附件的上传和下载等。在《Spring MVC 文件上传》一节中我们介绍了文件的上传,本节我们将对 Spring MVC 中的文件下载功能进行讲解。

文件下载

文件下载的含义十分简单,它指的就是将服务器中的文件下载到本机上。

下面我们就结一个实例,来演示下如何在 Spring MVC 中实现文件的下载功能,可以分为以下步骤。

1. 在《Spring MVC文件上传》一节中创建的 springmvc-file-demo 的工程中,修改 success.html 的代码,在每个图片下面添加一个文件下载的超链接,代码如下。

<!DOCTYPE html>

<html lang="en" xmlns:th="http://www.thymeleaf网站站点" rel="nofollow" />

package net.biancheng.c.controller;

import org.apac站站点" rel="nofollow" /> downLoadFile() 方法:负责文件的下载工作,我们首先根据文件路径和文件名称创建一个 File 对象,然后对响应头中文件的打开方式和下载方式进行了设置,并通过 ResponseEntity 对下载结果对象进行封装。

  • toUTF8String() 方法:负责完成中文文件名的字符编码转换。

  • ResponseEntity 对象与前面的章节中介绍的 @ResponseBody 注解相似,它也是用来直接返回结果对象的。

    3. 重启 Tomcat 服务服务器,使用浏览器访问“http://localhost:8080/springmvc-file-demo/”,填写学生信息并上传图片,结果如下。


    图1:图片上传成功


    4. 点击图片下方的“点击下载图片”的超链接,下载对应的图片,结果如下图。

    下载图片

    图2:点击链接下载图片