pdf.js插件乱码问题
来源:互联网 发布:python模拟鼠标点击 编辑:程序博客网 时间:2024/05/21 19:45
场景描述:
本问题也是之前谈论的pdf转化为图片的项目,之前有聊到过由于不能正常展示印章而把pdf转化成了PNG图片来展示。而其他的条款由于没有印章这个问题,所以就使用了pdf.js这个插件进行展示,之前展示的文件名都是用的英文是没有问题的。但是后来发现ios里面会展示出来这个名字,被用户看到后不便于理解,所以就想着要改为中文,那么问题就来了。
具体操作解决方案
接着说,直接将文件名改成中文后,发现一切并没有想象的那么简单,在加载pdf进行展示的时候发出错了,404。看里通过浏览器调试看地址也不是正常的,后在网上查询资料发现编码格式有问题,所以就把编码格式改为了gb2312。本地验证通过,心里挺高兴的,但是等我把代码发布到测试环境就由出现了问题。真是太奇葩了,奇葩年年有,今年特别多啊。
说一下本地和测试环境的差别吧,本地单机一个tomcat,测试环境是两台机器,F5负载均衡,然后还用了nginx做跳转。后来同事就说加个过滤器转码试试,想了想这个方法行得通,然后就开工了。加了一个过滤器,在过滤器中将请求地址打印了出来,然后进行转码再打印出来,经过和本地对比发现没有什么区别,但是为嘛就是本地不用filter转化再forward就可以,而测试环境就不行。感觉是跟F5和nginx有关系,但是就是不知道什么情况。还望有大神能解惑一下……
而且nginx 默认的不是charset utf-8;吗,但是我显式的写了这个就又乱码了,郁闷。
Filter代码
public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException { request.setCharacterEncoding("utf-8"); HttpServletRequest httpRequest = (HttpServletRequest) request; String url = httpRequest.getRequestURL().toString(); logger.info("url地址原始" + url); url = java.net.URLDecoder.decode(url, "UTF-8"); logger.info("url地址解码后" + url); httpRequest.getRequestDispatcher(url.substring(url.lastIndexOf("/") + 1)).forward(request, response); //httpResponse.sendRedirect(url); //chain.doFilter(request, response);}
配置如下
<filter> <filter-name>urlFilter</filter-name> <filter-class>com.test.UrlFilter</filter-class> </filter> <filter-mapping> <filter-name>urlFilter</filter-name> <url-pattern>*.pdf</url-pattern> </filter-mapping>
参考
http://blog.csdn.net/zhengyang7754/article/details/47263599
http://blog.csdn.net/xiangcns/article/details/42089189
- pdf.js插件乱码问题
- js插件中的中文乱码问题
- 解决 PDF乱码问题
- pdf乱码问题
- 简单使用pdf插件pdf.js
- js pdf展示插件(pdfobject)
- jQuery 插件form.js在gb2312中的乱码问题
- 关于jquery.autocomplete.js自动提示插件中文乱码问题
- ubuntu 下PDF乱码问题
- ubuntu PDF中文乱码问题
- js判断机子是否安装pdf插件
- 在线预览插件pdf.js使用记录
- PDF.js插件的使用--在线浏览PDF文件
- Jsp /js乱码问题
- js乱码问题总结
- JS乱码问题
- JS乱码问题
- js中文乱码问题
- .net 控件生命周期
- ViewPager动画制作炫酷的引导页
- lightoj 1349 - Aladdin and the Optimal Invitation (中位数的运用)
- 选择排序之Java实现
- cookie自动登录认证
- pdf.js插件乱码问题
- SD/MMC 卡读写模块---SD/MMC 卡的外部物理接口
- 垃圾收集算法
- Edge disjoint paths with Ford-Fulkerson algorithm
- 宗教里的节日
- TestNG的IHookable监听器详解
- 数据结构实验之图论二:基于邻接表的广度优先搜索遍历
- 模拟长按图标,图标抖动效果
- Factory模式(工厂模式 创建型)