2016-12-28 89 views
0

我想合并pdf文件并将它们显示在iframe中。一切工作正常,但是当我尝试合并一分钟秒的PDF时,我得到了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()功能是异步的,而你显示你的iframe $scope.mergedPdfFile有一个值之前。因此,当iframe第一次显示时,ng-src="{{mergedPdfFile}}将是null。根据处理getMergedPdf()需要多长时间,您可能会看到404一段时间或更长时间。

简单的解决办法是在iframe中使用ng-if,使iframe中不呈现直到居然有东西在里面显示,类似:

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

谢谢。我遵循你的建议,但再次一秒钟我得到404(我正在合并超过1000 kbs pdfs) – user6934713

+0

你是否将'mergedPdfFile'设置为代码中其他位置的值?你提供的网络图似乎表明,它的价值在某些时候是“真实的”,这没有任何意义。 – Claies

+0

另一个想法是否有可能您的回答错误?你有尝试过吗,例如'$ scope.mergedPdfFile = baseUrl + response.data;' – Claies