生成pdf或其他非html文件时的错误处理
Error handling when generating pdf or other non-html file
在我们的门户网站中,我们为某些类型的数据生成PDF。用户通过点击一个标签下载PDF,该标签引用了我们返回的内容类型:application/PDF;charset=utf-8
这在工作时效果良好;浏览器意识到它正在获取PDF文件,并打开内部或外部PDF阅读器,或者根据浏览器和用户配置要求用户保存文件。
我们有一些情况下,我们可能无法生成PDF。首先,我们没有处理这个错误,一个NullPointerException失败了,我们得到了一个丑陋的新页面,里面充满了JSON格式的垃圾。然后我们尝试返回一个空结果,浏览器认为这很好,只保存或发送一个空文件。然后我尝试返回一个重定向,这让Chrome感到困惑,它显示了一个警告,告诉用户发生了奇怪的事情。
标记中的href的格式为"/module/showmypdf.cmd?pdfid=67482"。正如我所说,当返回有效的pdf时,这一点很好。
那么,在向浏览器发送非HTML文件时,有什么错误处理的最佳实践吗?还有什么可以让浏览器将我的响应解释为重定向的吗?
好的,我弄清楚了重定向不起作用的原因。我在我的Java Spring控制器中这样做:
response.sendRedirect("重定向:mypage.html?pdfError=true");
当从控制器返回视图名称时,可以使用"redirect:"前缀。在sendDirect()调用中,它只会增加混乱。删除"重定向:"修复了它。
相关文章:
- javascript:如何在antlr生成的Lexer中进行错误处理
- 生成pdf或其他非html文件时的错误处理
- sailsjs在创建两个模型时的错误处理
- 为什么没有调用我的流错误处理程序
- 错误处理try&catch+回调
- EventSource中的错误处理
- Angular JS中的通用Ajax错误处理-拦截器
- Sinon Mocha节点错误处理
- 如果文件不存在,fs.watch是否有错误处理程序
- Javascript初始化和错误处理
- AngularJS错误处理:根据错误数组显示错误
- JQuery 图像错误处理
- BreezeJS中央错误处理程序和自动重试
- 文件下载html与错误处理FileNotFound
- 使用mongoose保存多个文档时的错误处理
- Node.js如何知道回调的第一个参数是否是错误处理程序
- Meteor JavaScript-错误处理
- AJAX自定义错误处理代码问题
- 正在获取丢失的错误处理程序套接字消息,无法读取属性'timerID'使用Node.js和Socket.i
- 为什么不't JavaScript库使用错误处理