Avalados por :
var base64EncodedPDF = "JVBERi0xLjcNCiW..."; // a string codificada
var decodedPdfContent = atob(base64EncodedPDF);
var byteArray = new Uint8Array(decodedPdfContent.length);
for (var i=0; i
No entanto, quando uso essa URL de blob como origem do meu PDFViewer, meu PDF não pode ser carregado de forma alguma, embora minha URL de blob seja acessível.
Finalmente descubro que o UI5 validará a URL do PDF após renderizar a caixa de diálogo do PDFViewer, apenas se minha URL de blob estiver na lista branca do UI5, minha URL pode ser considerada validada.
O que faço é o seguinte:
if (!this._PDFViewer){
this._PDFViewer = new sap.m.PDFViewer({
width: "auto",
source: _pdfurl // minha URL de blob
});
jQuery.sap.addUrlWhitelist("blob"); // registrar a URL de blob na lista branca
}
this._PDFViewer.downloadPDF = function(){
File.save(
byteArray.buffer,
"Hello_UI5",
"pdf",
"application/pdf"
);
};
this._PDFViewer.open();
O método addUrlWhitelist possui quatro parâmetros.
jQuery.sap.addUrlWhitelist(protocol, host, port, path);
Após adicionar minha URL de blob à lista branca, o PDF pode ser carregado com sucesso!
O que acontece no UI5?
linha 269: PDFViewer tenta validar a URL de origem
No arquivo jQuery.sap.encoder.js, o método validateUrl será executado:
E posso ver a partir da linha 504 (ainda no método validateUrl) por que minha URL de blob agora é validada após adicionar addUrlWhiteList, os protocolos, hosts, portas e caminhos seriam verificados:
O PDFViewer carrega meu PDF da seguinte maneira:
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