![]() |
Webservice regresa PDF como string en base64
Hola amigos, buenas noches
Estoy diseñando una aplicación que se comunica con un Webservice, el cual en un Responsedata me regresa un string codificado en Base64 que en realidad es un PDF que lógicamente para factibilidad del weservice así me lo manda; si logro almacenar la información en el string, pero hasta ahí llego, de ahí ya no se cómo decodificar y guardar el string como pdf, según por lo que he visto, se usan stream y streammemory pero para este caso no tengo ni idea y según yo primero hay que decodificar el string. Si alguien me pusiera apoyar con esto. Gracias |
¿Una pregunta? Si miras el fichero desde un editor de texto, tiene unas marcas/tags similares a estos:
<FACB64> </FACB64> <FIRB64> </FIRB64> ¿Aunque no ponga el fichero, puedes poner un ejemplo de la estructura que tiene? |
Cita:
Que paso amigo, mira, he bajado el string que me regresa el webservice y no tiene estructura alguna, pongo un pedaso mas abajo, pero como te decia, no tiene una estructura; en la documentacion de la pagina solo me dice que siempre me regresa todo codificado en base64. saludos Es el inicio del codigo Código:
JVBERi0xLjQNCiWxsrO0DQolQ3JlYXRlZCBieSBXbnYvRVAgUERGIFRvb2xzIHY2LjANCjEgMCBvYmoNCjw8DQovUGFnZU1vZGUgL1VzZU5vbmUNCi9WaWV3ZXJQcmVmZXJlbmNlcyAyIDAgUg0KL1R5cGUgL0NhdGFsb2cNCi9QYWdlTGF5b3V0IC9PbmVDb2x1bW4NCi9QYWdlcyAzIDAgUg0KPj4NCg0KZW5kb2JqDQozIDAgb2JqDQo8PA0KL1R5cGUgL1BhZ2VzDQovS2lkcyBbNCAwIFJdDQovQ291bnQgMQ0KPj4NCg0KZW5kb2JqDQo0IDAgb2JqDQo8PA0KL1Jlc291cmNlcyA8PA0KL1Byb2NTZXQgWy9QREYgL1RleHQgL0ltYWdlQ10NCi9YT2JqZWN0IDw8DQovTkFNRV9waGdibGdnZm9jZmtrbmpicG9iZmNubXBnYmxrZ29qaCA1IDAgUg0KL05BTUVfaXBjZmZjcGRubWRma2puamFqYmZuZG1saG9paWtoZWggNiAwIFINCj4+DQoNCi9Gb250IDw8DQovVVBST0NIK0FyaWFsTVQgNyAwIFINCj4+DQoNCj4+DQoNCi9QYXJlbnQgMyAwIFINCi9UeXBlIC9QYWdlDQovQ29udGVudHMgWzggMCBSIDkgMCBSXQ0KL01lZGlhQm94IFswLjAwMDAwIDAuMDAwMDAgNjEyLjAwMDAwIDc5Mi4wMDAwMF0NCj4+DQoNCmVuZG9iag0KOCAwIG9iag0KPDwNCi9GaWx0ZXIgL0ZsYXRlRGVjb2RlDQovTGVuZ3RoIDEyNA0KPj4NCnN0cmVhbQ0KeF4z0DMAAQUYbWZoBGWZW8JYRakK4Qp5vFwKhbxcMHWGxsZ6phB1ZhYwvaYWULGiVF4uiBYDPXNTZAtQGOhScEMNFBSSc4G6FfT9HH1d4zMLktPSkgtS8nJT0rKz8rISs5LS8lJyczLyMzOzM1IzFFzyebkCebkAUZ8t4g0KZW5kc3RyZWFtDQoNCmVuZG9iag0KOSAwIG9iag0KPDwNCi9GaWx0ZXIgL0ZsYXRlRGVjb2RlDQovTGVuZ3RoIDE4Nw0KPj4NCnN0cmVhbQ0KeF59T00LgkAQHei2sLd+wByLwNxMPVtJEn0ZGx0jrV2/Nf//odU0gqBhHu/xZgbePCnRNb0p7Nlis07NzU7UD0ouWFCC7O18tr/EnxGGubrF6d7ZudcqkkEmpShDkaZFElRlIMIir5SbyjKJcFVS4lPybHvBKZmej6fD0ps4dXzLdhz7WFxQYtpMY5aJTNfmtmEZ |
Ok. En tu caso veo que no hay etiquetas, porque eso es todo el fichero.
A veces al contener más cosas se "dividen" las partes utilizando etquetas. Lo primero es comprobar que esos datos es algo "con sentido". Para hacer la prueba fácil puedes probar alguna de las múltiples Webs online que te permiten "decodificar" ese churro de caracteres. Para ello busca en Google "Decode Base64" y encontrarás muchas. Por ejemplo, si pruebas aquí, con el texto que has colocado, verás que la decodificación devuelve el siguiente texto: Código:
%PDF-1.4 Una vez que hayas comprobado que se traduce correctamente, hay que conseguir hacerlo desde Delphi. Al igual que hay muchas páginas de Decede Base64, también hay bastantes "códigos" en Delphi para hacerlo. Si colocas un formulario con 2 memos y un botón, puedes probar un código como este:
El memo1 con el trexto original, el que has puesto más arriba, por ejemplo, y en el botón la llamada a la decodificación. |
La franja horaria es GMT +2. Ahora son las 06:49:27. |
Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi