返回文件流

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();}}

下载文件时两种返回方式相关推荐

  1. 记录一下前端针对下载文件的两种请求方式

    之前做了很多下载文件的接口都没习惯进行记录,现在开始规范自己,让自己养成一个随手保存代码的好习惯.写的不足之处请指出,会改正. 说一下前端下载文件常用的两种方式,get请求和post请求 get请求相 ...

  2. linux下如何解压iso文件怎么打开方式,ISO文件如何打开 ISO文件的两种打开方式【详解】...

    ISO文件如何打开? 我们下载的大部分LINUX安装文件都是iso格式,下载到本地后双击会被WINRAR打开,许多人把它当成了压缩包,这是不正确的,ISO文件通过一些手段不需要解压就可以直接硬盘安装. ...

  3. Web前端下载文件的几种常见方式

    1 标签or点击事件 标签下载 <a href="xxxxx"> 或 <a href="xxxxx" download="xxxx& ...

  4. springboot Java实现多文件的zip压缩操作 + 通过浏览器下载文件的两种方式

    注只适配utf-8的场景,待完善! 压缩为zip文件 通过java程序输出文件 /*** 功能:压缩多个文件成一个zip文件* @param srcfile:源文件列表* @param zipfile ...

  5. angualr2 下载文件的两种方式

    根据小编我目前的了解,angualr2中可以使用一下两种方式导出文件 第一种 export(){let url ="自己下载文件的路径";// var objectUrl = UR ...

  6. 从网络上下载文件的两种方式

    Delphi 编程,从网络上下载文件,我一般用 UrlDownloadToFile API函数,简单,实用. function DownloadFile(const strURL, strDownFi ...

  7. JS实现html页面点击下载文件的两种实现方法

    1.使用<a>标签来完成 <a href="/user/test/xxxx.txt" download="文件名.txt">点击下载&l ...

  8. 微信中下载app共有两种实现方式,然而安卓手机跟苹果手机还尽然不同。

    1.苹果用户打开后要么自动调起App Store下载(前提是你的应用在苹果商店上架了):要么是去Safari下载. 2.安卓用户打开链接后要么直接下载,要么前往手机默认浏览器下载. 以上是最好的实现方 ...

  9. Python中复制文件的两种简单方式

    用Python拷贝文件的方式其实有很多,但个人觉得最简单.最直接的可能是这么两种: 方法一:借助操作系统中本身的拷贝命令 >>> import os >>> os. ...

最新文章

  1. mount 挂载磁盘报错 mount: wrong fs type, bad option, bad superblock on
  2. tf.nn.embedding_lookup()的用法
  3. 白话Elasticsearch61-进阶篇之基于Term Vectors深入探查数据的情况
  4. 百度翻译接口测试(2)
  5. Python基础知识4--数据结构(树)
  6. RabbitMQ不公平分发
  7. jvm classLoader 过程
  8. 【计算机系统设计】实践笔记(6)改进数据通路:lw和sw指令
  9. ChinaMM竞赛:VideoNet视频内容识别-总奖池10W人民币
  10. sap模块介绍_一分钟掌握SAP小知识-系统基本操作
  11. Linux学习笔记1-在CentOS 7中安装配置JDK8
  12. 腾讯同事要跳槽,问我背包问题具体咋回事,我直接甩给他这篇!
  13. 谷歌首页被别的网站篡改
  14. 浅谈ANR及如何分析解决ANR
  15. python怎么恢复默认窗口,如何恢复python编程环境spyder的窗口
  16. ORACLE有EXCEL中trend函数,EXCEL【TREND】函数,你知道如何使用吗?
  17. python xlwt图表_Python中用xlwt制作表格实例讲解
  18. 关于域名用下划线的一个问题
  19. 控制面板打开后立即自动关闭
  20. 网页打开慢升级服务器宽带,网速快打开网页慢怎么办_网络测速很快但是上网很慢如何解决-win7之家...

热门文章

  1. HCIA网络基础1-传输介质、中继器、HUB、网桥、交换机
  2. 聊聊Dubbo(一):为何选择
  3. 人工智能--Keras网络评估
  4. 计算机科学技术学报官网convex,【喜报】计算机领域TOP1000期刊:JAS居世界前12%、中国第1...
  5. Linux自动化密码输入
  6. matlab 飞机,飞机系统matlab建模
  7. This is why you never end up hiring good developers 这就是为什么你永远招不到优秀的开发人员
  8. 北京Yeslab安全实验室 现任明教教主
  9. android中的深度学习——快速风格迁移
  10. 运维Ansible自动化工具概述