下载文件时两种返回方式
返回文件流
public void downloadFloodInfo(HttpServletRequest request, HttpServletResponse response) {String fileAllPath = "/xxxxxx/xxx/xxx.xxx";File file = new File(fileAllPath);if (file == null) {try {response.sendError(404, "文件不存在!");return;} catch (IOException e) {e.printStackTrace();}}try (FileInputStream fileInputStream = new FileInputStream(new File(fileAllPath));BufferedInputStream bufferedInputStream = new BufferedInputStream(fileInputStream);ServletOutputStream outputStream = response.getOutputStream();BufferedOutputStream bufferedOutputStream = new BufferedOutputStream(outputStream);) {// 设置response的Headerresponse.setCharacterEncoding("utf-8");response.addHeader("Content-Disposition", "attachment;filename=" + FileUtils.setFileDownloadHeader(request, FILE_NAME));response.addHeader("Content-Length", "" + FILE_SIZE);response.setContentType("application/octet-stream");byte[] buf = new byte[1024];int length = 0;while ((length = bufferedInputStream.read(buf)) != -1) {bufferedOutputStream.write(buf, 0, buf.length);}} catch (Exception e) {logger.info("读取文件{}异常 -> {}", FILE_NAME, e.getMessage());}}
返回文件字节码
来源:https://blog.csdn.net/weixin_42548604/article/details/83827193
@RequestMapping("stream")public void getStreamData(HttpServletResponse response) {File file=new File("C:\\avi_vedio\\test.MP4");ServletOutputStream out=null;try {FileInputStream instream=new FileInputStream(file);byte[] b=new byte[1024];int length=0;BufferedInputStream buf=new BufferedInputStream(instream);out=response.getOutputStream();BufferedOutputStream bot=new BufferedOutputStream(out);while((length=buf.read(b))!=-1) {bot.write(b,0, b.length);}} catch (Exception e) {// TODO Auto-generated catch block e.printStackTrace();}}
下载文件时两种返回方式相关推荐
- 记录一下前端针对下载文件的两种请求方式
之前做了很多下载文件的接口都没习惯进行记录,现在开始规范自己,让自己养成一个随手保存代码的好习惯.写的不足之处请指出,会改正. 说一下前端下载文件常用的两种方式,get请求和post请求 get请求相 ...
- linux下如何解压iso文件怎么打开方式,ISO文件如何打开 ISO文件的两种打开方式【详解】...
ISO文件如何打开? 我们下载的大部分LINUX安装文件都是iso格式,下载到本地后双击会被WINRAR打开,许多人把它当成了压缩包,这是不正确的,ISO文件通过一些手段不需要解压就可以直接硬盘安装. ...
- Web前端下载文件的几种常见方式
1 标签or点击事件 标签下载 <a href="xxxxx"> 或 <a href="xxxxx" download="xxxx& ...
- springboot Java实现多文件的zip压缩操作 + 通过浏览器下载文件的两种方式
注只适配utf-8的场景,待完善! 压缩为zip文件 通过java程序输出文件 /*** 功能:压缩多个文件成一个zip文件* @param srcfile:源文件列表* @param zipfile ...
- angualr2 下载文件的两种方式
根据小编我目前的了解,angualr2中可以使用一下两种方式导出文件 第一种 export(){let url ="自己下载文件的路径";// var objectUrl = UR ...
- 从网络上下载文件的两种方式
Delphi 编程,从网络上下载文件,我一般用 UrlDownloadToFile API函数,简单,实用. function DownloadFile(const strURL, strDownFi ...
- JS实现html页面点击下载文件的两种实现方法
1.使用<a>标签来完成 <a href="/user/test/xxxx.txt" download="文件名.txt">点击下载&l ...
- 微信中下载app共有两种实现方式,然而安卓手机跟苹果手机还尽然不同。
1.苹果用户打开后要么自动调起App Store下载(前提是你的应用在苹果商店上架了):要么是去Safari下载. 2.安卓用户打开链接后要么直接下载,要么前往手机默认浏览器下载. 以上是最好的实现方 ...
- Python中复制文件的两种简单方式
用Python拷贝文件的方式其实有很多,但个人觉得最简单.最直接的可能是这么两种: 方法一:借助操作系统中本身的拷贝命令 >>> import os >>> os. ...
最新文章
- mount 挂载磁盘报错 mount: wrong fs type, bad option, bad superblock on
- tf.nn.embedding_lookup()的用法
- 白话Elasticsearch61-进阶篇之基于Term Vectors深入探查数据的情况
- 百度翻译接口测试(2)
- Python基础知识4--数据结构(树)
- RabbitMQ不公平分发
- jvm classLoader 过程
- 【计算机系统设计】实践笔记(6)改进数据通路:lw和sw指令
- ChinaMM竞赛:VideoNet视频内容识别-总奖池10W人民币
- sap模块介绍_一分钟掌握SAP小知识-系统基本操作
- Linux学习笔记1-在CentOS 7中安装配置JDK8
- 腾讯同事要跳槽,问我背包问题具体咋回事,我直接甩给他这篇!
- 谷歌首页被别的网站篡改
- 浅谈ANR及如何分析解决ANR
- python怎么恢复默认窗口,如何恢复python编程环境spyder的窗口
- ORACLE有EXCEL中trend函数,EXCEL【TREND】函数,你知道如何使用吗?
- python xlwt图表_Python中用xlwt制作表格实例讲解
- 关于域名用下划线的一个问题
- 控制面板打开后立即自动关闭
- 网页打开慢升级服务器宽带,网速快打开网页慢怎么办_网络测速很快但是上网很慢如何解决-win7之家...
热门文章
- HCIA网络基础1-传输介质、中继器、HUB、网桥、交换机
- 聊聊Dubbo(一):为何选择
- 人工智能--Keras网络评估
- 计算机科学技术学报官网convex,【喜报】计算机领域TOP1000期刊:JAS居世界前12%、中国第1...
- Linux自动化密码输入
- matlab 飞机,飞机系统matlab建模
- This is why you never end up hiring good developers 这就是为什么你永远招不到优秀的开发人员
- 北京Yeslab安全实验室 现任明教教主
- android中的深度学习——快速风格迁移
- 运维Ansible自动化工具概述