[OK]をクリックします。ドキュメントデータがどこかに保存されていれば、任意にthis pdfとしましょう。HTML5ファイルとURL APIを使用してBlobを適切に作成して配信する
問題#1。私がしたいことは、このURLへのAJAX呼び出しを行うことです(いくつかの認証ヘッダーを渡す必要があり、クロスドメインであるためです)。返されたデータを受け取り、blob urlを作成し、iFrameをDOMに追加して、src
をblob URLに転送します。
は現在、私のコードは次のようになります。
$.ajax({
url:'http://www.grida.no/climate/ipcc_tar/wg1/pdf/tar-01.pdf'
}).done(function(data){
var file = new Blob([data], {type:'application/pdf'}),
url = URL.createObjectURL(file),
_iFrame = document.createElement('iframe');
_iFrame.setAttribute('src', url);
_iFrame.setAttribute('style', 'visibility:hidden;');
$('#someDiv').append(_iFrame);
});
を残念ながら、私は取得していますインラインフレームに「PDFのレンダリングに失敗しました」。
問題#2。私はこの結果、ファイルダウンロードのプロンプトを表示したいと思います。 PDFが自然にiFrameに表示されるだけなので、これを保証する方法が不明です。
: '%PDF-1.5 % 2504 0 OBJ << /線形1/L 3722399/O 2506/E 388168/N 36/T 3720768/H [462 773] >> endobj 2511 0 OBJ <> /フィルタ/ FlateDecode/ID [] /索引[2504 10] /情報2503 0 R/Length 47/Prev 3720769/Roo t 2505 0 R /サイズ2514 /タイプ/ XRef/W [1 2 0] >>ストリーム h bbd'b'9 ] x?abP | ... ' –
誰にでもちょうどいいよ。可能ではないように見えるため、この問題を完全に解決しました。私は10秒間ファイルを一時的に提供し、iframeに任意のURLを指定し、ダウンロード後に削除しました(ブラウザのCookie以外の認証はありません)。 –