文件下载实现

controller

/*** 文件下载* @param request* @param response* @return*/@GetMapping("/download")public String downloadFile(HttpServletRequest request, HttpServletResponse response) {String fileName = request.getParameter("filename");if (StringUtils.hasText(fileName)) {//设置文件路径File file = new File("E:/wenjianshangchuan/"+fileName);if (file.exists()) {response.setContentType("application/force-download");// 设置强制下载不打开response.addHeader("Content-Disposition", "attachment;fileName=" + fileName);// 设置文件名byte[] buffer = new byte[1024];FileInputStream fis = null;BufferedInputStream bis = null;try {fis = new FileInputStream(file);bis = new BufferedInputStream(fis);OutputStream os = response.getOutputStream();int i = bis.read(buffer);while (i != -1) {os.write(buffer, 0, i);i = bis.read(buffer);}return "下载成功";} catch (Exception e) {e.printStackTrace();} finally { // 做关闭操作if (bis != null) {try {bis.close();} catch (IOException e) {e.printStackTrace();}}if (fis != null) {try {fis.close();} catch (IOException e) {e.printStackTrace();}}}}}return "下载失败";}

传参是filename=????

这里我在上传中做了一个文件上传后文件名直接修改成了一个时间戳,最后接口地址大概就是这样

http://localhost:8088/service/product/download?filename=1653472192079.pdf

浏览器中测试就会弹出一个另存为的弹出框。

文件上传地址:http://t.csdn.cn/oFzi8

java后端实现文件下载相关推荐

  1. 科普:Java 后端开发常用的 10 种第三方服务

    严格意义上说,所有软件的第三方服务都可以自己开发,不过从零到一是需要时间和金钱成本的.就像我们研发芯片,投入了巨大的成本,但仍然没有取得理想的成绩,有些事情并不是一朝一夕,投机取巧就能完成的. Jav ...

  2. Java 后端开发常用的第三方服务 TOP10

    严格意义上说,所有软件的第三方服务都可以自己开发,不过从零到一是需要时间和金钱成本的.就像我们研发芯片,投入了巨大的成本,但仍然没有取得理想的成绩,有些事情并不是一朝一夕,投机取巧就能完成的. Jav ...

  3. Java后端与Vue前端导出Excel表格文件并解决乱码和文件打不开

    Java 需要用到 poi 两个依赖包,Maven如下: <!-- https://mvnrepository.com/artifact/org.apache.poi/poi --> &l ...

  4. java后端内部面试题

    21.什么时候不要使用索引? 1. 经常增删改的列不要建立索引: 2. 有大量重复的列不建立索引: 3. 表记录太少不要建立索引. 22.说说什么是 MVCC? 多版本并发控制(MVCC=Multi- ...

  5. 对java后端的一些学习建议

    前言 进入IT领域,就像进入大海-浩瀚而广阔.然而,它又很容易让人迷茫,不知所措.所以,在IT的海洋中,找好一艘船特别重要,这艘船带你前进.减少迷失.这艘船或许是一个人,或一本书,又或许是一篇文章. ...

  6. 第三方服务 “TOP10”Java 后端开发常用的

    严格意义上说,所有软件的第三方服务都可以自己开发,不过从零到一是需要时间和金钱成本的.就像我们研发芯片,投入了巨大的成本,但仍然没有取得理想的成绩,有些事情并不是一朝一夕,投机取巧就能完成的. Jav ...

  7. Java后端程序员技术栈

    Java后端程序员技术栈 它可以是知识提纲,便于快速复习与查阅 它也可以是你的学习规划,帮助小白快速了解学Java要走的路(当然你也可以选择搭配我的学习路线一起享用!) 相关链接: <gitee ...

  8. Java后端WebSocket的Tomcat实现

    转自: http://blog.chenzuhuang.com/archive/28.html http://www.cnblogs.com/xdp-gacl/p/5193279.html 一.Web ...

  9. Java后端进行经纬度点抽稀聚合,HTML呈现及前端聚合实现点聚合~

    Java后端进行经纬度点抽稀聚合,HTML呈现及前端聚合实现点聚合~ 1. 效果图~ 1.1 前端实现聚合及呈现 1.2 后端实现点聚合,前端渲染呈现效果图 2. 原理 3. 源码 3.1 前端JS实 ...

最新文章

  1. 关于Response.redirect和Response.End出现线程中止异常的处理
  2. 大学计算机基础英语翻译,大学计算机基础 教学课件 978 7 302 21247 8 第7章 常用工具软件.pdf...
  3. python unicode error_关于GAE中运行python出现unicode decode error
  4. MySql:函数总结
  5. linux将字符串转小写_小猿圈总结Linux常见命令(一)
  6. 以太坊的POS共识机制(一)友善的小精灵 Casper
  7. Java高手速成│编写你第一个数据库程序
  8. matlab simulink光伏发电系统MPPT算法
  9. MessAPI V1.1.1 QQ音乐、网易云音乐、酷狗音乐、咪咕音乐、酷我音乐、百度音乐API接口
  10. 全国各地车牌代码整理出数据库表SQL Server
  11. Google黑客常用搜索语法
  12. 在浏览器中清除缓存和 Cookies
  13. 2022暑期牛客多校训练第5场 A.Don‘t Starve
  14. 头歌 Linux 远程联机服务(二)- Rsh服务器
  15. 傅立叶变换的实现—MATLAB(纯代码)
  16. HTML canvas 输入文字,关于Canvas写字
  17. 基于LSTM三分类的文本情感分析,采用LSTM模型,训练一个能够识别文本postive, neutral, negative三种
  18. PAT_甲级 简单模拟
  19. 微服务应用开发入门④服务网关
  20. android中转换content://media/external/images/media/539163为/storage/emulated/0/DCIM/Camera/IMG_20160807_

热门文章

  1. ISO:31000-2018 Risk Management-Guideline读书笔记
  2. 怎样做好产品网络推广销售
  3. Hands-On Mobile Prototyping for UX Designers UX设计师的实际手机原型设计 Lynda课程中文字幕
  4. TDOA算法综述(An overview of TDOA algorithm)--(1)
  5. 大型直播新玩法:会控+导播一体化直播室
  6. 《智能制造》赵亚波《工业控制计算机》2002年15卷第3期
  7. Linux下文本文件合并和去除重复
  8. 福大软工1816 - 404 Note Found选题报告
  9. python 智能造句,用生成器从给定单词造句
  10. PKCS及PKCS 15个标准, Public-Key Cryptography Standards