Avalados por :
var base64EncodedPDF = "JVBERi0xLjcNCiW..."; // la cadena codificada
var decodedPdfContent = atob(base64EncodedPDF);
var byteArray = new Uint8Array(decodedPdfContent.length);
for (var i=0; i
Sin embargo, cuando uso esta URL de blob como origen de mi PDFViewer, mi PDF no se puede cargar en absoluto, aunque mi URL de blob es accesible.
Finalmente descubro que UI5 validaría la URL del PDF después de renderizar el diálogo del PDFViewer, solo si mi URL de blob está en la lista blanca de UI5, mi URL puede considerarse validado.
Lo que hago es lo siguiente:
if (!this._PDFViewer){
this._PDFViewer = new sap.m.PDFViewer({
width: "auto",
source: _pdfurl // mi URL de blob
});
jQuery.sap.addUrlWhitelist("blob"); // registrar la URL de blob en la lista blanca
}
this._PDFViewer.downloadPDF = function(){
File.save(
byteArray.buffer,
"Hello_UI5",
"pdf",
"application/pdf"
);
};
this._PDFViewer.open();
El método addUrlWhitelist tiene cuatro parámetros.
jQuery.sap.addUrlWhitelist(protocol, host, port, path);
¡Después de agregar mi URL de blob a la lista blanca, el PDF se puede cargar con éxito!
¿Qué sucede en UI5?
línea 269: PDFViewer intenta validar la URL de origen
En jQuery.sap.encoder.js, se ejecutará el método validateUrl:
Y puedo ver desde la línea 504 (todavía en el método validateUrl) por qué mi URL de blob ahora se valida después de hacer addUrlWhiteList, se verificarían el protocolo, host, puerto y ruta:
El PDFViewer carga mi PDF de la siguiente manera:
Pedro Pascal
Se unió el 07/03/2018
Sin respuestas
No hay respuestas para mostrar
Se el primero en responder
contacto@primeinstitute.com
(+51) 1641 9379
(+57) 1489 6964
© 2025 Copyright. Todos los derechos reservados.
Desarrollado por Prime Institute