У меня есть запрос POST для PDF документа в APIController, вот код:Открытие PDF с угловым ngResource из запроса пост MVC
Generator pdfGenerator = new Generator();
MemoryStream ms = pdfGenerator.Generate();
var response = new HttpResponseMessage
{
StatusCode = HttpStatusCode.OK,
Content = new StreamContent(ms)
};
response.Content.Headers.ContentDisposition = new ContentDispositionHeaderValue("attachment")
{
FileName = "Tag.pdf"
};
response.Content.Headers.ContentType = new MediaTypeHeaderValue("application/octet-stream");
return response;
когда я посылаю мой файл угловой с запросом GET все отлично работает, и я могу скачать pdf, используя:
$window.open('my_url');
В папке для скачивания создается хорошо образованный файл PDF 28K.
Но когда я изменил свой запрос на POST, файл был искажен.
var pdfGetter = $resource('my_url', {}, {
sendPDFTag: { method: 'POST', url: 'my_url', responseType: 'arraybuffer' }
});
pdfGetter.sendPDFTag(info, function(data) {
var file = new Blob([data], { type: 'application/pdf' });
var fileURL = URL.createObjectURL(file);
$window.open(fileURL);;
});
Я пробовал использовать FileSaver.js, и я получаю плохой файл PDF 1K в папке загрузки.
pdfGetter.sendPDFTag(info, function(data) {
var file = new Blob([data], { type: 'application/pdf' });
saveAs(file, 'Tag.pdf');
});
В чем проблема?
Благодаря