问题描述,在http协议下,文件是可以正常下载的,但是在https协议下,下载文件会获取不到文件。

核心代码如下:(主要是response.addHeader("Pramgma","public")和response.addHeader("Cache-Control","max-age=0")),因为,浏览器通过HTTPS下载时,默认其cache缓存是不给权限的,所以,必须先要对cache进行配置,并给与其相应权限。

 public static String downloadFile(HttpServletResponse response, String fileName, boolean notIE) {InputStream stream = FileUtil.class.getClassLoader().getResourceAsStream("static/doc/" + fileName);response.setHeader("content-type", "application/octet-stream");response.addHeader("Pragma", "public");response.addHeader("Cache-Control", "max-age=0"); response.setContentType("application/octet-stream");try {String name = java.net.URLEncoder.encode(fileName, "UTF-8");if (notIE) {name = java.net.URLDecoder.decode(name, "ISO-8859-1");}response.setHeader("Content-Disposition", "attachment;filename=" + name);} catch (UnsupportedEncodingException e2) {e2.printStackTrace();}byte[] buff = new byte[1024];BufferedInputStream bis = null;OutputStream os = null;try {os = response.getOutputStream();bis = new BufferedInputStream(stream);int i = bis.read(buff);while (i != -1) {os.write(buff, 0, buff.length);os.flush();i = bis.read(buff);}} catch (FileNotFoundException e1) {// e1.getMessage()+"系统找不到指定的文件";return "系统找不到指定的文件";} catch (IOException e) {e.printStackTrace();} finally {if (bis != null) {try {bis.close();} catch (IOException e) {e.printStackTrace();}}}return "success";}

http和https协议下,http可以正常下载,但是https却不能相关推荐

  1. 百度富文本编辑器ueditor在https协议下无法正常插入动态地图

    在浏览器https协议下,百度富文本编辑器ueditor有可能会无法正常插入动态地图.所谓"动态地图",就是在插入地图的时候,勾选右上角的"动态地图"选择框: ...

  2. 百度地图在http协议正常,在https协议下地图无法正常显示的解决方法

    百度地图的添加方法说明: 1 到百度地图创建自己的地图   http://api.map.baidu.com/lbsapi/creatmap/index.html 2 复制好代码 经过测试百度地图在H ...

  3. NiFi HTTPS协议下使用REST API

    NiFi HTTPS协议下使用REST API NiFi 配置了HTTPS后, 无法直接使用REST API 这时可以通过 REST API 中的 获得token, 再通过token使用REST AP ...

  4. 天地图服务在https协议下请求正常加载显示地图

    首先把需要使用的天地图服务,如矢量地图服务地址如下: //天地图矢量服务 "http://t0.tianditu.gov.cn/vec_c/wmts?SERVICE=WMTS&REQ ...

  5. 如何在https协议下访问http等不安全的资源

    很简单,只需一个mate标签 <meta http-equiv ="Content-Security-Policy" content="upgrade-insecu ...

  6. HTTP和HTTPS协议的区别

    什么是HTTPS: HTTPS(Secure Hypertext Transfer Protocol)安全超文本传输协议 它是一个安全通信通道,它基于HTTP开发,用于在客户计算机和服务器之间交换信息 ...

  7. 如何将网站升级为HTTPS协议?

    基本概念: HTTP: 是互联网上应用最为广泛的一种网络协议,是一个客户端和服务器端请求和应答的标准,用于从WWW服务器传输超文本到本地浏览器的传输协议,它可以使浏览器更加高效,使网络传输减少. HT ...

  8. HTTP协议和HTTPS协议初探

    概况 HTTP是hypertext transfer protocol(超文本传输协议)的简写,它是TCP/IP协议的一个应用层协议,用于定义WEB浏览器与WEB服务器之间交换数据的过程. HTTP是 ...

  9. 老李分享:https协议

    老李分享:https协议 最近我们看到很多站点使用 HTTPS 协议提供网页服务.通常情况下我们都是在一些包含机密信息的站点像银行看到 HTTPS 协议. 如果你访问 google,查看一下地址栏,你 ...

  10. 浅谈HTTPS以及Fiddler抓取HTTPS协议

    原文 浅谈HTTPS以及Fiddler抓取HTTPS协议 最近想尝试基于Fiddler的录制功能做一些接口的获取和处理工作,碰到的一个问题就是简单连接Fiddler只能抓取HTTP协议,关键的登录请求 ...

最新文章

  1. canvas 文字颜色_Canvas技术概述
  2. 因需设岗,竞争上岗的多Agent协作的协作模式
  3. 第十章: 数据模型高级进阶
  4. python简单代码加法-Python tkinter实现简单加法计算器代码实例
  5. 第 2 章:初出茅庐【初级篇 - 2.3 动态规划】
  6. 我对“POST和GET的区别”的理解
  7. [LeetCode]547. Friend Circles朋友圈数量--不相邻子图问题
  8. cd linux给u盘安装程序,使用U盘安装CDlinux
  9. Spring之AOP代理模式
  10. 非科班学生党的2022秋招之路 -- 一路艰辛
  11. html手机表白弹窗,抖音弹窗表白代码怎么玩 弹窗表白制作方法与教程一览
  12. 富士通Fujitsu DPK750 Pro 打印机驱动
  13. 考研日语线上笔记(六):完型专项篇
  14. 虚幻浏览器插件 播放视频
  15. 把失败看成常态 把成功当作偶然”——与庞加莱猜想“封顶”者之一、中山大学教授朱熹平面对面
  16. python打开上层文件
  17. java 类大写_记java实体类属性名为全部为大写踩的坑(基础)
  18. Java Mail(发邮件)
  19. ROS-Melodic-Moveit 实时控制UR5机械臂
  20. 计算机无符号是啥,计算机编程中的无符号是什么

热门文章

  1. 串口调试助手和网络调试助手
  2. 图灵工业机器人说明书_图说人工智能:机器人极简史
  3. Android简单模仿微信扫一扫二维码
  4. 项目: 生命游戏(C语言)
  5. 微信小程序 图片处理:压缩、上传、审核
  6. 弯曲时空量子场论的历史与现状 (下)
  7. stm32f107ptp时钟同步
  8. 基于STM32cubemx的STM32F107vct6的代码生成,实验四串口与DMA
  9. 【039】读典籍-在线阅读典籍并对应翻译
  10. 学计算机应用必备的软件,电脑装机六大必备软件神器推荐