SpringMvc---文件的上传和下载
使用ResponseEntity实现文件下载
首先在webapp的目录下创建一个目录用来存放要被下载的内容,先随便放进去一个图片
然后,打开maven管理,找到Lifecycle-->>package,双击重新打包。把刚才创建的目录打包进要部署的包中
接下来创建一个负责接收下载请求的标签或者页面,然后就是写控制器方法
今天状态不好,控制器没写注解声明,出了半天错,我还以为咋了
在controller中
上面说到,要把ResponseEntity作为控制器方法的返回值,它使用是一般就是作为文件下载使用
在下面的方法中返回值类型是一个ResponseEntity类型的byte数组
其他的每一句都写了作用了。
@RequestMapping("/testDown")
public ResponseEntity<byte[]> testResponseEntity(HttpSession session) throws IOException {
//获取ServletContext对象
ServletContext servletContext = session.getServletContext();
//获取服务器中文件的真实路径,在webapp下
String realPath = ((ServletContext) servletContext).getRealPath("/static/img/1.jpg");
//创建输入流
InputStream fileDown = new FileInputStream(realPath);