Tengo un problema desde hace unos dias y no consigo sacarlo adelante por lo
que he decidido escribir aquí a ver si me pueden ayudar.
Estoy mostrando información en página web. Estos datos vienen de un servicio
web. Uno de estos datos está codificado en base64, y lo que tengo que hacer
es transformarlo en un documento pdf y así el cliente poder verlo.
¿Me pueden ayudar?, no encuentro la forma de hacerlo.
Muchas gracias,
Puedes usar Convert.FromBase64String para convertir la cadena de
caracteres en base64 a un array de bytes. Una vez que tengas el array de
bytes puedes volcarlo a un fichero si quieres tener el pdf en disco, o
puedes usar Response.BinaryWrite para mandárselo directamente al navegador
del usuario (después de manipular las cabeceras HTTP en la misma forma que
habitualmente se usa cuando mandas un fichero al nevegador).
Podría pasarme un pequeño ejemplo para ver como se hace. En este tema estoy
un poco escaso de conocimientos.
Muchas gracias de nuevo por su ayuda. Voy a investigar lo que me ha dicho.
Saludos,
Aquí tienes un pequeño ejemplo:
Dim B64 As String
Dim fileContents As Byte() =
My.Computer.FileSystem.ReadAllBytes("C:\temp\miarchivo.pdf")
B64 = Convert.ToBase64String(fileContents)
--
Saludos,
Jhonny Vargas P.
Santiago de Chile
... el viejo guatón Vargas...
"Javi" <Ja...@discussions.microsoft.com> escribió en el mensaje de
noticias:4A5AEAA6-7CBA-4B49...@microsoft.com...
Dim fileContents As Byte() =
Convert.FromBase64String(ArchivoStringBase64), _
ruta As String = "C:\temp\miarchivo.pdf"
Dim fs As IO.FileStream
fs = IO.File.Create(ruta)
fs.Write(fileContents, 0, fileContents.Length)
fs.Close()
--
Saludos,
Jhonny Vargas P.
Santiago de Chile
... el viejo guatón Vargas...
"Jhonny Vargas P." <c_h_a_n_g...@hotmail.com> escribió en el mensaje
de noticias:#Fwq6dIE...@TK2MSFTNGP02.phx.gbl...
Muchas gracias por su ayuda,
Saludos,
"Jhonny Vargas P." wrote:
> Era al revés
>
>
> Dim fileContents As Byte() =
> Convert.FromBase64String(ArchivoStringBase64), _
> ruta As String = "C:\temp\miarchivo.pdf"
>
> Dim fs As IO.FileStream
> fs = IO.File.Create(ruta)
> fs.Write(fileContents, 0, fileContents.Length)
> fs.Close()
>
>
>
> --
> Saludos,
> Jhonny Vargas P.
> Santiago de Chile
>
> .... el viejo guatón Vargas...
Estoy probando el código que me has pasado y tengo el siguiente problema:
Dim fileContents As Byte() = Convert.FromBase64String(documento)
y sale el siguiente error:
Un valor de tipo '1-matriz dimensional de Byte' no se puede convertir en '2'.
¿Qué puede estar mal?
Muchas gracias por su ayuda,
"Jhonny Vargas P." wrote:
> Era al revés
>
>
> Dim fileContents As Byte() =
> Convert.FromBase64String(ArchivoStringBase64), _
> ruta As String = "C:\temp\miarchivo.pdf"
>
> Dim fs As IO.FileStream
> fs = IO.File.Create(ruta)
> fs.Write(fileContents, 0, fileContents.Length)
> fs.Close()
>
>
>
> --
> Saludos,
> Jhonny Vargas P.
> Santiago de Chile
>
> .... el viejo guatón Vargas...
--
Saludos,
Jhonny Vargas P.
Santiago de Chile
... el viejo guatón Vargas...
"Javi" <Ja...@discussions.microsoft.com> escribió en el mensaje de
noticias:2841F6EF-9ADB-42AC...@microsoft.com...
Voy a revisar lo que dices pero juraría que el servicio web devuelve un
String en Base 64.
Muchas gracias,
Saludos,
"Jhonny Vargas P." wrote:
> Documento tiene que ser un STRING BASE 64
>
>
>
> --
> Saludos,
> Jhonny Vargas P.
> Santiago de Chile
>