首页 > 其他分享 >springMVC文件下载

springMVC文件下载

时间:2023-01-12 00:33:45浏览次数:63  
标签:文件 浏览器 字节 springMVC 对象 数组 下载

通常来说,当我们给浏览器一个文件的路径,当那个文件能够被浏览器直接打开的话,浏览器就直接打开,如果浏览器无法直接打开那么浏览器就会提示用户可以下载这个文件

现在我们要做的事情是让浏览器直接提示用户可以下载文件

1、在前端提示可以下载的超链接指的是后端的控制器

2、获取要下载文件的输入流对象

 

 

 3、将要下载的文件读取到字节数组中

  获取目标文件的长度 inputStream.available()

  根据目标文件长度创建字节数组 buffer = new byte[len]

  将目标文件读取到字符数组中 inputStream.read(buffer)

 

 4、封装响应消息头

   创建MultivalueMap接口类型的对象,实现类是HttpHeaders

   存入下载文件所需要的响应消息头

    创建ResponseEntity对象

 

 5、返回responseEntity对象

总结:主要就是需要返回responseEntity对象 找到对应的形参 比如说 文件字节 消息响应消息头 还有一个枚举类常量 HttpStatus.OK

 

场景:这种实现方式是一个较为简单的下载

    1、零星小文件的下载

    2、将系统内部文件导出为Excel,PDF 然后以下载的方式返回给用户

    

 

 

 

 

   

标签:文件,浏览器,字节,springMVC,对象,数组,下载
From: https://www.cnblogs.com/jiang-kai/p/17045264.html

相关文章

  • matlab的mex文件作用
    文章目录前言一、MEX的介绍二、MEX的编写总结前言MEX文件是一种可在matlab环境中调用的C语言(或fortran)衍生程序,mex的编译结果实际上就是一个带输出函数mexFunction的dll文......
  • spring boot——请求与参数校验——ServletContext——概述——获取——获取MIME类型
                                                       ......
  • 闲鱼猪手配置文件解密
    因为太闲,突然想起这个上古大坑了众所周知,有个很好用的Xposed模块叫闲鱼猪手,可惜不知道什么原因,作者已经跑路了,好在原作者是把配置文件放在Gitee上的,通过Commit记......
  • java 递归复制文件夹和文件
    公司的电脑是有安全检查的,每次复制一个文件到U盘中都要扫描半天,特别的慢,为了避开电脑的扫描,想到了java中的io流,写的一个使用递归的方式复制文件夹的demo。保存到博客中,跟大......
  • Linux:文件与目录
    目录网络不通畅运维操作规范(运维⼈员==救⽕队员)具体操作:一、etc目录下重要的数据文件1./etc/fstab-filesystemtable系统挂载信息表2./etc/rc.local-此文件中只能存放......
  • response下载
    先通过FileInPutSteam的read(byte[])方法(单纯的read()方法是一次写入一个字节,返回值为asscm值,参数为字节数组的read方法返回值尾数组长度)写入数组,再通过resp的getOutPutStr......
  • 01-mybatis解析XML文件
    <?xmlversion="1.0"encoding="UTF-8"?><!DOCTYPEconfigurationPUBLIC"-//mybatis.org//DTDConfig3.0//EN""http://mybatis.org/dtd/mybatis-3-config.dtd"><c......
  • 【转】前后端分离项目(vue+springboot)集成pageoffice实现在线编辑office文件
    前后端分离项目下使用PageOffice原理图集成步骤前端vue项目在您Vue项目的根目录下index.html中引用后端项目根目录下pageoffice.js文件。例如:<scripttype="text/......
  • 在Windows上访问linux的共享文件夹
    1、https://blog.csdn.net/weixin_44147924/article/details/123692155   ......
  • 解决使用go get 下载模块下载超时的问题
    使用goenv可以看到,默认的GOPROXY的值是https://proxy.golang.org,而https://proxy.golang.org在国内无法访问.如果您使用的Go版本是1.13及以上,可以使用以下命令解......