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