我有一个使用 NodeJS 构建的网站,它需要提供一些 PDF(以及其他文件)。
由于我无法确定的原因,Internet Explorer 8 第一次无法在 Acrobat Viewer 中完全下载 PDF(有时之后多次)。直接保存文件就可以了,但这并不理想。Chrome 工作正常,虽然我没有测试过其他浏览器。
没有错误消息,除了状态栏停止更新并显示:(
来源:twimg.com)
我通过 NodeJS 和 Express (v3, beta2) / Connect 框架提供文件(它是提供文件的 Connect Static 中间件。)我也通过 SSL 提供它,但关闭它似乎没有帮助。
任何想法将不胜感激!谢谢
编辑- 包括更多细节:
首先 - 我已经从 Express v2 升级到 v3 以尝试解决这个问题 - 没有这样的运气。
这是提供文件的应用程序路由。静态服务组件确实有效,因此问题似乎在于 IE 如何检索文件或 express 如何将它们提供给 IE。
app.get('/store/*', ensureAuthenticated, express.static(__dirname + '/../uploads'));
function ensureAuthenticated(req, res, next) {
if (req.isAuthenticated()) {
return next();
}
} else {
res.redirect('/login');
}
至于错误 - 我在 IE 中看不到 404 错误或任何内容。它只是挂着一个空白屏幕,上面的图片显示了左下角状态栏中的下载量。Adobe 最终(约 5 分钟后)失败并发出警告:“此文件已损坏,无法修复”。我知道文件没有损坏,因为偶尔 IE会加载它(请参阅下面的 Fiddler 请求)。
在 Fiddler 中,我看到以下内容。
前两个请求失败,而第三个请求成功交付了 PDF。
如果还有什么我可以提供的,请告诉我。