Así que busqué mucho y trato de ver la mejor manera de abrir blob como pdf en el navegador. La pregunta de stackoverflow más cercana que pude encontrar fue esta: XMLHttpRequest para abrir PDF en el navegador, pero tiene 11 años. Actualmente tengo un programa que se ve así:
var xhr = new XMLHttpRequest(); xhr.open('GET', 'http://localhost:8080/api/download', true); xhr.responseType = 'blob'; xhr.onload = function(e) { if (this.status == 200) { // Note: .response instead of .responseText var blob = new Blob([this.response], {type: 'application/pdf'}), url = URL.createObjectURL(blob); window.open(url, '_blank'); } }; xhr.send();Ahora nuevamente, el problema aquí es que se abre en el navegador Chrome (FYI: versión 102.0.5005.61 (compilación oficial) (arm64)) con un UUID. Entonces, la URL de la nueva pestaña se ve así:
gota:http://localhost:3000/f7c5571a-bf59-45d1-99ea-e495fe859008
Ahora, cuando hago clic en el icono de descarga. El explorador de archivos se abre con UUID y no puedo descargarlo en Windows. Cuando lo intento me dice error de red.
Pregunta: ¿Cuál es la mejor manera posible de mostrar solo pdf en el navegador? Mientras elimina los íconos de descarga si no van a funcionar.
Oh, también he intentado crear el enlace y luego hacer link.download = fileName; Eso funciona perfectamente bien, pero no estoy buscando descargar el archivo, solo verlo en el navegador. También probé la disposición de contenido en línea y adjunto. No funciona. El resultado es el mismo.
¡Muchas gracias!