test

博客园 首页 新随笔 联系 订阅 管理
  109 随笔 :: 0 文章 :: 1 评论 :: 16万 阅读
复制代码
 response.reset();
            response.setContentType("application/pdf;charset=UTF-8");//pdf预览
            response.setCharacterEncoding("utf-8");
            request.setCharacterEncoding("utf-8");
            //文件名兼容火狐
            String agent =((HttpServletRequest)request).getHeader("USER-AGENT");
            if (null != agent && -1 != agent.indexOf("MSIE")){
                pdfFileName= URLEncoder.encode(pdfFileName,"utf-8");
                pdfFileName=pdfFileName.replaceAll("\\+",  " ");
            }
            else{
                if (agent.contains("MSIE")||agent.contains("Trident")) {
                    pdfFileName = URLEncoder.encode(pdfFileName, "UTF-8");
                }else{
                    pdfFileName =  new String( pdfFileName.getBytes("UTF-8"), "ISO-8859-1" );
                }
            }


            ((HttpServletResponse)response).addHeader("Content-Disposition", "inline;filename=\""+pdfFileName+"\"");
            ((HttpServletResponse)response).addHeader("Content-Length", "" + fileBuff.length);
            OutputStream os = null;
            try{
                os = new BufferedOutputStream(response.getOutputStream());
                os.write(fileBuff);
            }
            catch(Exception e){}
            finally{
                if(os!=null)
                    os.close();
            }
复制代码

前端使用jquery.media.js,如果后端有http的下载地址,可以不需要用流的方式预览

posted on   testgogogo  阅读(4383)  评论(0编辑  收藏  举报
编辑推荐:
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 展开说说关于C#中ORM框架的用法!
点击右上角即可分享
微信分享提示