2016-03-25 19 views
0

Açısal projem, Web API'sına yaptığım tüm istek için $ kaynak kullan, ancak PDF için bir istekte bulunan verilerin nasıl işleneceğini öğrenmek istiyorum.

 $http.get('/api/pdf/shipper', 

     {responseType:'arraybuffer'}) 
      .success(function (response) { 
      var file = new Blob([(response)], {type: 'application/pdf'}); 
      var fileURL = URL.createObjectURL(file); 
      $scope.content = $sce.trustAsResourceUrl(fileURL); 
    }); 

İşleri mükemmel $ 'a URL'yi doğrulamak için $ sce servisini kullanarak: burada ben $ http mükemmel çalışan bir parçacık bulundu, orada başarı $ kaynaktan aynı sonucu almaya çalışırken ancak davranıyorum pop pencerede kullandığım scope.content. Ben sayfadaki kullanan tüm istek için hizmet $ kaynak yapı kullandığınızda sorunudur:

 InvoicePDF: $resource('/api/pdf/invoice', {}, { 
      method: 'GET', 
      headers: { 
       accept: 'application/pdf' 
      }, 
      responseType: 'arraybuffer', 
      cache: true, 
      transformResponse: function (data) { 
       var pdf; 
       if (data) { 
        pdf = new Blob([data], { 
         type: 'application/pdf' 
        }); 
       } 
       return { 
        response: pdf 
       }; 
      } 
     }) 

sonra formu

  SAJAPdata.InvoicePDF.get().$promise.then(function(pdf) { 

      $scope.content = $sce.trustAsResourceUrl(pdf); 

     }); 

ancak başarı Açısal kontrolörü olarak adlandırılan yaklaşık şikayet [ $ SCE: ITYPE'ı] bir dizi gerektiren bir içerikte olmayan bir dize değeri güven denendi: Bağlam: herhangi bir öneri takdir edilecektir resourceUrl

cevap