2016-12-28 3 views
0

pdfファイルを結合してiframeに表示しようとしています。すべて正常に動作しますが、分割した秒間にpdfsをマージしようとすると404エラーが発生し、その後ファイルが生成されるたびにすべて正常に動作します。 問題を解決するにはどうすればよいですか?PDFファイルをマージするときの分割秒404エラーの場合

<md-tab label="Preview Pdfs"> 
    <div flex ng-hide="userForm.$invalid"> 
    <fieldset class="md-padding"> 
    <legend class="standart">Pdf preview</legend> 
    <iframe ng-src="{{mergedPdfFile}}" style="width:100%; height:800px; margin-top:20px;" type='application/pdf'></iframe> 
    </fieldset> 
    </div> 
</md-tab> 

getMergedPdf(selectedPdfsIds).then(function (response) { 

     $scope.mergedPdfFile = baseUrl + response; 
    }); 

ネットワークトラフィック enter image description here

+0

を 'mergedPdfFile'です当時は利用できませんでした。マージ前に 'ng-if =" mergedPdfFile "'を ''に追加し、その値がヌルであることを確認してください。 – bhantol

+0

ありがとうございます。それは役に立たなかった。同じ問題。 – user6934713

+0

'mergedPdfFile'に値を設定するコードを共有することができます。 PDFマージの詳細を表示する必要はありません。 – bhantol

答えて

1

はあなたのgetMergedPdf()関数は非同期であり、かつ$scope.mergedPdfFileが値を持って前に、あなたのiframeが表示されます。したがって、iframeが最初に表示されるとき、ng-src="{{mergedPdfFile}}nullになります。 getMergedPdf()が処理するのにかかっている時間に応じて、しばらくの間、404を見ている可能性があります。

簡単な解決策は、実際にそれに表示するもの、のようなものがあるまでのiframeがレンダリングされないように、インラインフレームにng-ifを使用することです:私はせずに推測してい

<iframe ng-if="mergedPdfFile" ng-src="{{mergedPdfFile}}" ...></iframe> 
+0

ありがとうございます。私はあなたの提案に従いますが、もう一度私は404を取得しています(私は1000 kbs pdfをマージしています) – user6934713

+0

あなたのコードのどこかの値に 'mergedPdfFile'を設定していますか?あなたが提供したネットワークダイアグラムは、価値が本当に意味をなさない、ある時点で「真」であることを示唆しているようです。 – Claies

+0

別の考えでは、あなたの応答が間違っている可能性はありますか?たとえば、 '$ scope.mergedPdfFile = baseUrl + response.data;を試してみましたか? – Claies

関連する問題