open imprimir pdf angular asp.net-web-api filestream

imprimir - pdf en angular



Angular2 mostrando PDF (1)

En primer lugar, debe establecer opciones para su solicitud http: configure responseType a ResponseContentType.Blob , use blob() para leer la respuesta como blob y establezca su tipo a application/pdf :

downloadPDF(): any { return this._http.get(url, { responseType: ResponseContentType.Blob }).map( (res) => { return new Blob([res.blob()], { type: ''application/pdf'' }) } }

Luego, para obtener el archivo, debe subscribe y puede crear un nuevo ObjectURL y usar window.open() para abrir el PDF en una nueva pestaña:

this.myService.downloadPDF().subscribe( (res) => { var fileURL = URL.createObjectURL(res); window.open(fileURL); } );

Tengo un proyecto angular2 con una API web ASP.Net. Tengo un código para recuperar una ruta de archivo de mi base de datos que va a un documento en mi servidor. Entonces quiero mostrar este documento en el navegador en una nueva pestaña. ¿Alguien tiene alguna sugerencia de cómo hacer esto?

Me complace recuperar el archivo en Angular2 (Typescript) o en mi API y transmitirlo.

Este es mi intento de recuperarlo en mi API, pero no puedo encontrar la manera de recibirlo en Angular2 y mostrarlo correctamente:

public HttpResponseMessage GetSOP(string partnum, string description) { var sopPath = _uow.EpicorService.GetSOP(partnum, description).Path; HttpResponseMessage result = new HttpResponseMessage(HttpStatusCode.OK); var stream = new FileStream(sopPath, FileMode.Open); result.Content = new StreamContent(stream); result.Content.Headers.ContentType = new System.Net.Http.Headers.MediaTypeHeaderValue("application/octet-stream"); return result; }

Cualquier ayuda sería muy apreciada.

¡¡¡Muchas gracias!!!