Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/http/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 大型jsPDF文件导致504网关超时_Javascript_Http_Ionic Framework_Jspdf - Fatal编程技术网

Javascript 大型jsPDF文件导致504网关超时

Javascript 大型jsPDF文件导致504网关超时,javascript,http,ionic-framework,jspdf,Javascript,Http,Ionic Framework,Jspdf,我正在开发一个主要用AngularJS和Javascript编写的Ionic移动应用程序,在该应用程序中,我从客户端的用户数据生成一个PDF文件,并将其发送到服务器以通过电子邮件发送给用户 使用jsPDF库生成的PDF文件非常大,因为它包含一个带有图像列的表(使用jsPDF自动表格插件生成)。当我尝试将pdf数据URI发送到服务器时,它会立即在控制台中返回504网关超时错误 我尝试了两种方法: 将PDF保存为datauristring并通过url编码发送 var pdfBase64 = d

我正在开发一个主要用AngularJS和Javascript编写的Ionic移动应用程序,在该应用程序中,我从客户端的用户数据生成一个PDF文件,并将其发送到服务器以通过电子邮件发送给用户

使用jsPDF库生成的PDF文件非常大,因为它包含一个带有图像列的表(使用jsPDF自动表格插件生成)。当我尝试将pdf数据URI发送到服务器时,它会立即在控制台中返回504网关超时错误

我尝试了两种方法:

  • 将PDF保存为datauristring并通过url编码发送

      var pdfBase64 = doc.output('datauristring');
      $http({
            method: "POST",
            url: 'https://www.myserver.com/api/export-events',
            params:
                {current_user: $rootScope.currentuser, 
                pdf: pdfBase64}
       }).then(function(data) {
           console.log(data);
           var alertPopup = $ionicPopup.alert({
               title: "Export Successful!",
               template: 'A PDF was sent to your email address.'
           });
    
  • 将PDF保存为blob并使用FormData发送

       var pdfBase64 = doc.output('blob');
       var formData = new FormData();
       formData.append('current_user', $rootScope.currentuser);
       formData.append('pdf', pdfBase64);
    
        $http.post('https://www.myserver.com/api/export-events', formData, {
           transformRequest: angular.identity,
           headers: {'Content-Type': undefined}
       }).then(function(data) {
           console.log(data);
           var alertPopup = $ionicPopup.alert({
               title: "Export Successful!",
               template: 'A PDF was sent to your email address.'
           });
       })
    
如何将这个大文件发送到服务器而不导致网关超时?任何帮助都将不胜感激