Member 11567959 Ответов: 0

Преобразование байта[] в pdf не работает в angular 8 с ошибкой api(ошибка не удалось загрузить PDF-документ.)


Код Api здесь...
----------------------------------------------------------------------------------
[HttpGet]
       public HttpResponseMessage DownloadProductList( )
       {
           HttpResponseMessage response = new HttpResponseMessage(HttpStatusCode.MethodNotAllowed);
           byte[] plist = prepo.GetProductList("ProductListReport", "p");
           response.Content = new ByteArrayContent(plist);
           response.Content.Headers.Add("x-fileName", "ProductListReport.pdf");
           response.StatusCode = HttpStatusCode.OK;
           response.Content.Headers.ContentDisposition = new ContentDispositionHeaderValue("attachment");
           response.Content.Headers.ContentType = new System.Net.Http.Headers.MediaTypeHeaderValue("application/pdf");
           response.Content.Headers.ContentDisposition.FileName = "ProductListReport.pdf";


           return response;
       }


-------------------------------------------------------------------------------------
сервис здесь----
--------------------------------------------------------------------------------------
getPdfDocument(): any {
  let headers = new HttpHeaders({ 'Content-Type': 'application/arraybuffer' });
  return this.http
             .get(this.url+"/api/ProductReport/" ,
                  { headers: headers, responseType: 'blob' as 'arraybuffer', observe: 'response' as 'body' }
              );
            }


---------------------------------------------------------------------------------------
компонент находится здесь--
--------------------------------------------------------------------------------------

){
  this.service.getPdfDocument().subscribe((response)=>{

    let file = new Blob([response], { type: 'application/pdf' });            
    var fileURL = URL.createObjectURL(file);
    window.open(fileURL);
   

    }
);


Что я уже пробовал:

Ошибка
Не удалось загрузить PDF-документ.

Sandeep Mewara

Ваш тип ответа, кажется, не большого двоичного объекта. См. это аналогичное обсуждение: https://stackoverflow.com/questions/62042843/failed-to-load-pdf-document-angular-8

Рабочий пример; https://stackblitz.com/edit/angular-6qwrvh

Member 11567959

не работать

0 Ответов