이것은 여러 이미지가 포함 된 PDF를 반환하는 API입니다. 이제 URL을 사용하여이를 호출하면 이미지가있는 PDF가 완벽하게 다운로드됩니다. 예를 들어 이미지가있는 두 페이지의 경우. 이제 blob 및 WebAPI가있는 각도 파일 세이버. 다운로드 한 PDF가 비어 있습니다. 하지만 API url은 콘텐츠가있는 PDF를 반환합니다.
[HttpGet]
public async Task<IHttpActionResult> Download(Guid customDocId)
{
byte[] responseContent = await Task.FromResult(FileNetApiClientFactory.Get(customDocId).DownloadDocument(customDocId, "pdf", true));
HttpResponseMessage response = new HttpResponseMessage(HttpStatusCode.OK)
{
Content = new ByteArrayContent(responseContent),
StatusCode = HttpStatusCode.OK,
};
response.Content.Headers.ContentDisposition = new ContentDispositionHeaderValue("attachment") { FileName = string.Concat(customDocId.ToString(), ".pdf") };
response.Content.Headers.ContentType = new MediaTypeHeaderValue("application/pdf");
return ResponseMessage(response);
}
는 각도에서 나는 PDF를 저장하기위한 BLOB 및
FileSaver
을 사용하고 있습니다. 그래서 내가 그것을 다운로드 할 때. 그런 다음 내용이없는 두 페이지 만 반환합니다. 그러나 페이지 1과 페이지 2를 보여 주지만 그들은 비어 있습니다.
//saveAs method is from FileSaver.js
vm.download = function() {
documentService.download($scope.customDocumentId).then(function (fileData) {
var blob = new Blob([fileData], { type: 'application/pdf' });
saveAs(blob, $scope.customDocumentId + ".pdf");
}).catch(function() {
});
}
그리고 서비스 : 여기
내 각 코드function _download(customDocumentId) {
return Restangular
.one('customdocument', customDocumentId).one('download')
.get(null, { responseType: 'arraybuffer' });
}
FileSaver로 저장할 때 누군가가, 왜 빈 페이지를 반환 어떤 생각을 가지고 있습니까 직접 다운로드와 동안 모든 콘텐츠와 완벽하게 잘 어울립니다.
내 문제를 해결 didnt는 : 응답 유형을 설정 인수에 설정하도록
– Joy) 내 응용 프로그램 FileSaver.saveAs()가 거기에 있지 않습니다. 그 이유는 확실하지 않습니다. FileSaver.min.js를 사용하고 있습니다. – Joy