मैं इस Web API
पोस्ट विधि है एक पीडीएफ उत्पन्न करने के लिए:AngularJS में वेब एपीआई से पीडीएफ फाइल को कैसे संभालें?
[HttpPost]
[Route("api/pdf")]
public HttpResponseMessage Post(CustomType type)
{
StreamContent pdfContent = PdfGenerator.GeneratePdf();
HttpResponseMessage response = new HttpResponseMessage(HttpStatusCode.OK);
response.Content = pdfContent;
response.Content.Headers.ContentDisposition = new System.Net.Http.Headers.ContentDispositionHeaderValue("attachment");
response.Content.Headers.ContentDisposition.FileName = "PDFName.pdf"
return response;
}
AngularJS में मैं इस तरह इस पीडीएफ फाइल प्राप्त करना चाहते हैं:
$http.post("api/pdf", object).then(function (results) {
var data = results.data;
//TODO: got PDF, how to handle?
}, function (results) {
console.log(results);
});
लेकिन यह कैसे मैं PDF- संभाल चाहिए AngularJS में डेटा? आईपैड पर मैं पीडीएफ खोलेगा, लेकिन अगर फ़ाइल डाउनलोड हो या डेस्कटॉप पर खुल जाए तो कोई फर्क नहीं पड़ता।
EDIT1:
SaveAS JS library का उपयोग करते हुए मैं डेस्कटॉप पर एक काम कर समाधान करने में सक्षम हूँ:
$http.post("api/pdf", object).then(function (results) {
var data = results.data;
var file = new Blob([data], { type: 'application/pdf' });
saveAs(file, "test.pdf");
}, function (results) {
console.log(results);
});
फ़ाइल सीधे मेरे डेस्कटॉप के लिए डाउनलोड किया जा रहा है, लेकिन इस समाधान के लिए कुछ करता है, कारण, आईओएस में काम नहीं करते हैं। कुछ नहीं हुआ। यह JSFiddle देखें।
क्या मेरी वेबसाइट पर फ़ाइल एम्बेड किए बिना मेरे आईपैड पर पीडीएफ प्रदर्शित करने का कोई और तरीका है?
आप इस पोस्ट को देखा है: http://stackoverflow.com/questions/21628378/angularjs-display -blob-पीडीएफ में एक-कोणीय-ऐप –
डेनिस, आप पोस्ट @DavidTansey से ऊपर का सुझाव दिया की जाँच करनी चाहिए, यह आपको बताता है arraybuffer उपयोग करने के लिए कैसे, $ SCE और एम्बेड अपने AngularJS क्षुधा – Manube
में लाने और प्रदर्शन पीडीएफ फाइलों के लिए कृपया मेरा 'EDIT1' देखें। – dhrm