NodeJSを使用して構築しているWebサイトがあり、(他のファイルの中でも)いくつかの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');
}
エラーに関しては、404 エラーも IE にも何も表示されません。空白の画面でハングアップし、左下のステータスバーにダウンロードされた量を示す上の画像が表示されます. Adobe は最終的に (~5 分後)、「このファイルは破損しているため、修復できません」という警告で失敗します。時々 IEがファイルをロードするので、ファイルが破損していないことはわかっています (以下の Fiddler リクエストを参照してください)。
Fiddler では、次のように表示されます。
最初の 2 つの要求は失敗しましたが、3 番目の要求は PDF の配信に成功しました。
他に提供できることがあれば、お知らせください。