在我们的应用程序中,我们具有查看/下载PDF文件的功能 以下是用于在浏览器中下载和显示的代码
> while ((readLength = bufInputStream.read(buffer)) != -1) {
outStream.write(buffer, 0, readLength);
}
}
最近我们观察到像弹出“打开此文档时出错。文件已损坏且无法修复”。
当我们检查好坏内容时pdf
以“%PDF-1.6”开头 结尾为“%% EOF”
以“NULNULNULNUL%PDF-1.6”
开头当我们检查原始PDF时,流式传输有正确的标题
如果我们缓冲并写入,这些字符如何在Header ???
中添加2018年6月3日
您是否检查过bufInputStream中的数据?
我们需要打印数据吗?或如何检查数据?
你有没有检查写入你的outStream的数据会发生什么?
我们需要打印数据吗?或如何检查数据?
我用Google搜索并获得了以下信息
1.如果您观察到坏的PDF结束,%% EOF丢失。可能是因为outstream.write没有在最后一个循环中发生(请纠正我)
2.最近主持人在PDF内容中进行了一些图形更改,之后就开始了这个问题
3.old pdf的工作正常没有任何问题,只发布新的pdf的
4.我们正在为各种客户提供这种功能,只有这个新的pdf才会出现问题(使用win10 + IE11)+(win7 + IE11)
4.任何浏览设置或Acrobat插件都可以解决此问题?
5.添加/删除这些字符的流媒体可能是什么原因?
2018年6月4日
似乎%% EOF最终缺失是问题的根本原因。我们从应用程序获得了错误/损坏的文件,并在最后手动添加%% EOF解决了问题。现在几个问题
11月11日
我们完成了代码更改,以便在错过的PDF文件中添加%% EOF(临时解决)
我们尝试打印通过网络传输的内容。
我们看到NULNUL即将到来,但HOST说他们没有发送..
我们有负载均衡器,网络通道中的其他组件
我们从cacheServer获取了旧的PDF文件,并且长时间看到这些字符
问题始于PDF1.6版本。