Tengo datos en bruto de base64Binary.

string base64BinaryStr = "J9JbWFnZ......"

¿Cómo puedo hacer que el archivo pdf? Sé que se necesita una conversión. Por favor me ayude.

El idioma que estás usando?
Es la materia prima de datos a ser graficados/trazada, o se muestran en una tabla, o simplemente poner en el pdf como datos en bruto?
c# es utilizado como un desarrollo del lenguaje.

OriginalEl autor Novice Developer | 2009-10-26

6 Comentarios

  1. 26

    El paso 1 es la conversión de su cadena base64 a una matriz de bytes:

    byte[] bytes = Convert.FromBase64String(base64BinaryStr);

    El paso 2 es el ahorro de la matriz de bytes en disco:

    System.IO.FileStream stream = 
        new FileStream(@"C:\file.pdf", FileMode.CreateNew);
    System.IO.BinaryWriter writer = 
        new BinaryWriter(stream);
    writer.Write(bytes, 0, bytes.Length);
    writer.Close();
    Longitud no válida para un Base-64 matriz de char. en el paso 1
    eso generalmente significa que hay un extraño personaje(s) en su cadena que hacer un inválido en Base 64 de la cadena. ¿De casualidad tienes dos comillas dobles ("") al final de la cadena?
    O es esta cadena que se pasa a un ASP.Net la página en la cadena de consulta?
    Yo no soy la que pasa en la querystring.
    Preguntando por qué esto escribe el pdf pero no codificar la imagen. mi pdf no abre.

    OriginalEl autor MusiGenesis

  2. 13
    using (FileStream stream = System.IO.File.Create("c:\file.pdf"))
    {
        byte[] byteArray = Convert.FromBase64String(base64BinaryStr);
        stream.Write(byteArray, 0, byteArray.Length);
    }

    OriginalEl autor Ralf de Kleine

  3. 3

    base64BinaryStr – de webservice SOAP mensaje

    byte[] bytes = Convert.FromBase64String(base64BinaryStr); 

    OriginalEl autor BinaryTank

  4. 2

    Todo lo que necesitas hacer es ejecutar a través de cualquier Base64 decodificador que tendrá sus datos como una cadena y pasar de nuevo una matriz de bytes. Luego, simplemente escribir ese archivo con formato pdf en el nombre de archivo.
    O, si se está transmitiendo de nuevo el navegador, sencillo escribir los bytes en el flujo de salida, marcando el correspondiente tipo mime en las cabeceras.

    La mayoría de los idiomas se han construido en los métodos para convertir a/desde Base64. O un simple Google con su lenguaje específico volverá numerosas implementaciones puede utilizar. El proceso de ir y venir a Base64 es bastante sencillo y puede aplicarse incluso para los nuevos desarrolladores.

    OriginalEl autor Mike Clark

  5. 1

    Sé que este tema pone muuuuy atrás. Pero tal vez yo pueda ayudar a alguien con este código.

    Yo ni siquiera tiene que escribir cualquier archivo en el disco duro. 😉

    Response.AddHeader("Content-Type", "application/pdf");
    Response.AddHeader("Content-Length", base64Result.Length.ToString());
    Response.AddHeader("Content-Disposition", "inline;");
    Response.AddHeader("Cache-Control", "private, max-age=0, must-revalidate");
    Response.AddHeader("Pragma", "public");
    Response.BinaryWrite(Convert.FromBase64String(base64Result));

    Nota: la variable ‘base64Result’ contiene el Base64-Cadena: «JVBERi0xLjMgCiXi48/TIAoxI…»

    Feliz De Codificación! 😉

    ATENCIÓN: tuvimos que borrar esta línea en nuestro código: code Respuesta.AddHeader(«Content-Length», base64Result.Longitud.ToString ()); code, Ya que algunos navegadores no puede descargar el archivo completo. Después de borrar la cantidad de Bytes, todo funcionó muy bien. Deje que el de los navegadores de los bytes de tamaño de cálculo por sí mismo! 😉

    OriginalEl autor Synap Sen

  6. 0

    Convertir primero la Bas64 string byte[] y escribir en un archivo.

    byte[] bytes = Convert.FromBase64String(base64BinaryStr); 
    File.WriteAllBytes(@"FolderPath\pdfFileName.pdf", bytes );

    OriginalEl autor dush88c

Dejar respuesta

Please enter your comment!
Please enter your name here