`

Struts2 - Https中IE浏览器不能下载的问题

 
阅读更多

在http中能下载,但是启用https协议后下载报错问题结果,在谷歌,火狐浏览器正常

具体操作如下:

// 获取下载文件
		//userRegisterInfoPath  下载路径
                File downloadFile = new File(userRegisterInfoPath);
		FileInputStream fos = new FileInputStream(downloadFile);
		byte[] bytes = new byte[4096];
		int read = 0;
		response.reset();
		response.setContentType("application/octet-stream;charset=UTF-8");
                //filename 是带扩展名
		response.setHeader("Content-Disposition","attachment; filename="+ URLEncoder.encode("申请表.pdf", "utf-8"));
		response.setHeader("Pragma", "public");
                //下载设置的关键项
		response.setHeader("Cache-Control","public");  
		ServletOutputStream  sos =  response.getOutputStream();
		while((read=fos.read(bytes))!=-1){
		    sos.write(bytes, 0, read);
		}
		sos.flush();
		sos.close();
		   

 

 文件上传转载的一片好文:

作者:http://www.blogjava.net/leekiang/archive/2007/08/27/139844.html

片段代码

<form action="" method="post" enctype="multipart/form-data">
 最大上传2G.
通过 http 协议上传文件(rfc1867协议概述,jsp 应用举例,客户端发送内容构造)
 服务器接收到上传的流,自己其实是不作任何处理的,那个request还是原装的,谁来处理这个request呢,一般采用第三方的工具,这里以commons fileupload为例.
 

DiskFileItemFactory factory = new DiskFileItemFactory();
factory.setSizeThreshold(4096);// 设置缓冲,这个值决定了是fileinputstream还是bytearrayinputstream
factory.setRepository(new File("d:\\temp"));//设置临时存放目录,默认是new File(System.getProperty("java.io.tmpdir"))
ServletFileUpload sfu = new ServletFileUpload(factory);
sfu.setSizeMax(100*1024*1024);//100M
List items = sfu.parseRequest(request);//传入的这个request还是原装的

 见上面的代码,commons fielupload通过ServletFileUpload类的parseRequest(request)方法处理这个原始流。而ServletFileUpload又会调用其爷爷类FileUploadBase的parseRequest(request)方法,然后又会调return parseRequest(new ServletRequestContext(request)),代码如下

 

 

上传代码springboot

@PostMapping(value="/szjrb/upLoadReportXmlFile")
public RestModel upLoadReportXmlFile(MultipartHttpServletRequest multiReq,String xmlFilePath) throws IOException{

    FileOutputStream fos = null;
    FileInputStream fis = null;
    try{
        if(StringUtils.isBlank(xmlFilePath)){
            return new RestModel("10006","xmlFilePath参数不能为空");
        }

        File file = new File(xmlFilePath);
        if(!file.isFile()){
            return new RestModel("10007","xmlFilePath不是文件路径");
        }

        //上传
fos=new FileOutputStream(new File(xmlFilePath));
        fis=(FileInputStream) multiReq.getFile("file").getInputStream();
        byte[] buffer=new byte[1024];
        int len=0;
        while((len=fis.read(buffer))!=-1){
            fos.write(buffer, 0, len);
        }
    }catch (Exception e){
        logger.error(e.getMessage(),e);
        return new RestModel("0","上传失败",xmlFilePath);
    }finally {
        fos.close();
        fis.close();
    }
    return new RestModel(RestModel.CODE_SUCCESS,RestModel.MESSAGE_SUCCESS,xmlFilePath);
}

 

 

 

 

 

 

 

分享到:
评论

相关推荐

    struts2.0官方项目之四(showcase)

    在IE浏览器中输入: http://localhost:8080/struts2-mailreader-2.0.9.war&lt;br&gt;&lt;br&gt; 恭喜,运行成功! &lt;br&gt; ------------------------------------------------ 除了Tomcat外,当然使用其他的服务器也...

    struts2.0官方项目之三(portlet)

    在IE浏览器中输入: http://localhost:8080/struts2-mailreader-2.0.9.war&lt;br&gt;&lt;br&gt; 恭喜,运行成功! &lt;br&gt; ------------------------------------------------ 除了Tomcat外,当然使用其他的服务器也...

    struts2.0官方项目之一(blank)

    在IE浏览器中输入: http://localhost:8080/struts2-mailreader-2.0.9.war&lt;br&gt;&lt;br&gt; 恭喜,运行成功! &lt;br&gt; ------------------------------------------------ 除了Tomcat外,当然使用其他的服务器也...

    Struts2类型转换与输入校验 .zip

     已经接入局域网的网络实验室,机器上装有IE浏览器等;  strtus2.5.8  实验内容: (1) 编写一个自定义类型转换器,并基于应用程序进行全局配置,实现字符串参数与颜色值之间的转换,并将颜色值应用于视图...

    struts2.2.3.1帮助文档

    struts最新版帮助文档。使用IE浏览器打开index

    个人信息管理系统Struts2 spring hibernate dwr

    采用了FCKeditor在线文本编辑器,用FCKeditor上传文件时还存在有问题,不知道是不是配置存在问题,但是图片文件利用Struts2的action上传到服务器,因为有其他附件文件要上传,并且要保存文件信息,在删除文章时要把...

    个人知识管理系统 Struts2.0 + Spring + Hibernate

    由于对页面样式了解不多,所以写出来的样式目前只在IE上运行良好,在火狐上效果不佳,并且在火狐上提示复习这一块一直出不来,目前也在研究CSS,希望能写出适合大多数浏览器的样式。 用户可建立自己的知识分类,...

    个人知识管理系统 Struts2 + Spring + Hibernate

    采用了FCKeditor在线文本编辑器,用FCKeditor上传文件时还存在有问题,不知道是不是配置存在问题,但是图片文件利用Struts2的action上传到服务器,因为有其他附件文件要上传,并且要保存文件信息,在删除文章时要把...

    基于struts2+spring+mybatis+uploadify的多文件上传

    在IE浏览器可以正常运行,点击开始上传下面的白色区域,进行上传

    jsp选择文件夹路径

    在windows系统中,使用struts2的file属性不支持选择文件夹,只能选择到具体文件,通过js及ie浏览器配置则可实现选择到文件夹操作

    JspRun!社区论坛系统 v6.0.0 build 20110516 UTF-8 安装版.zip

    24、修复了:前台自定义信息分类--日期控件IE下显示错误,谷歌浏览器下乱码现象 25、修改了:如果后台设置的“论坛名称”过长,在分栏模式下将出现文字重叠的现象。 26、修改了:使用 Archiver 功能浏览没有阅读...

    JspRun!社区论坛系统 v6.0.0 build 20110516 UTF-8 源码版.zip

    24、修复了:前台自定义信息分类--日期控件IE下显示错误,谷歌浏览器下乱码现象 25、修改了:如果后台设置的“论坛名称”过长,在分栏模式下将出现文字重叠的现象。 26、修改了:使用 Archiver 功能浏览没有阅读...

    jsp+sql网络在线考试

    (3)打开IE浏览器,在地址栏中输入http://localhost:8080/,进入“Tomcat软件管理”页面。 注意:8080为安装Tomcat时设置的端口号。 (4)单击Tomcat Manager超链接,弹出“连接到 localhost”对话框。 (5)在...

    心之语许愿墙 v1.0.zip

    (4)打开IE浏览器,在地址栏中输入http://localhost:8080/,进入“Tomcat软件管理”页面。 注意:8080为安装Tomcat时设置的端口号 。 (5)单击Tomcat Manager超链接,弹出“连接到 localhost”对话框。 (6)在...

    Struts2.0教程

    如果你用ie浏览会导致,页面的图片和css无法正常显示。 所以建议要看此文档。安装火狐浏览器可以正常浏览。还有google新出的浏览器页可以(google新出的浏览器速度很快哦) 好了 快去看看吧。里边的 max on java 随便...

    JspRun!社区论坛系统 v6.0.0 build 20110516 GBK 安装版.zip

    24、修复了:前台自定义信息分类--日期控件IE下显示错误,谷歌浏览器下乱码现象 25、修改了:如果后台设置的“论坛名称”过长,在分栏模式下将出现文字重叠的现象。 26、修改了:使用 Archiver 功能浏览没有阅读...

    JspRun!社区论坛系统 v6.0.0 build 20110516 GBK 源码版.zip

    24、修复了:前台自定义信息分类--日期控件IE下显示错误,谷歌浏览器下乱码现象 25、修改了:如果后台设置的“论坛名称”过长,在分栏模式下将出现文字重叠的现象。 26、修改了:使用 Archiver 功能浏览没有阅读...

    FirstJava2完全教材

    并自动运行IE浏览器,并自动打开http://localhost:8080/test1 网页. 你还将学会直接用javac命令来编译代码,java运行代码方法,ANT方式编译和运行代码, 创建自己的更高效的Build.xml文件,实现DIY自已的工程, Eclipse...

    基于java web开发的BBS论坛系统

    (3) 打开IE浏览器,在地址栏中输入http://localhost:8080/,进入“Tomcat软件管理”页面。 注意:8080为安装Tomcat时设置的端口号。 (4) 单击Tomcat Manager超链接,弹出“连接到localhost”对话框。 (5) 在用户名及...

    完全免费的Java/jsp开发编辑工具FirstJava2

    并自动运行IE浏览器,并自动打开http://localhost:8080/test1 网页. 你还将学会直接用javac命令来编译代码,java运行代码方法,ANT方式编译和运行代码, 创建自己的更高效的Build.xml文件,实现DIY自已的工程, Eclipse...

Global site tag (gtag.js) - Google Analytics