Dado que las funciones relacionadas con DispatcherServlet son implementadas por otro departamento de mi empresa, solo puedo completar las clases comerciales específicas del back-end y el front-end, por lo que no puedo devolver byte[] directamente al front-end.
entonces uso
Base64.getUrlEncoder().encodeToString(bytes); response.put("data", data);para devolver una respuesta RESTful json a mi front-end.
Pero en Java encodeToString , la utilidad BASE64 convierte los bytes en bytes BASE64 y luego devuelve una cadena basada en ISO_8859_1 ...
Primero, ¿cómo puedo convertir la cadena al byte ISO_8859_1 []?
En segundo lugar, ¿cómo puedo decodificar el byte [] codificado por BASE64?
en frontEnd,
this.http.pdf(data).subscribe( resp => { const data = WhatShouldTheMethodBe(respo['data']); //What should the method be? let blob = new Blob([data], { type: 'application/pdf' }); let url = window.URL.createObjectURL(blob); let pwa = window.open(url); if (!pwa || pwa.closed || typeof pwa.closed == 'undefined') { alert('Please disable your Pop-up blocker and try again.'); } } );Muchas gracias.