Recibo este error de que Chrome no pudo cargar el documento PDF. Puedo ver que el contenido de los datos es la ventana de la consola, así que tengo los datos devueltos. No estoy seguro de por qué no se mostrará. Si File.WriteAllBytes en el disco, se abrirá bien, por lo que tal vez sea algo relacionado con la creación del new Blob
No se pudo cargar el documento PDF.
código ts
printItems(versionKeys: string[]): JQueryPromise<any> { console.log('printItems'); $.ajax({ type: "post", contentType: "application/json", data: JSON.stringify(versionKeys), url: this.apiUrls.PrintTemplates, success: function (data, status, xhr) { console.log('printItems'); console.log(data); let blob = new Blob([data.Content], { type: data.ContentType }); var url = URL.createObjectURL(blob); console.log(url); window.open(url); console.log('success'); } }); return; }Error
Convertí la cadena base64 a bytes
var binary_string = window.atob(data.Content) var len = data.Content.length; var bytes = new Uint8Array(len); for (var i = 0; i < len; i++) { bytes[i] = binary_string.charCodeAt(i); } let blob = new Blob([bytes.buffer], { type: data.ContentType }) var url = URL.createObjectURL(blob); window.open(url);