29 messaggi dal 11 novembre 2004
Ciao a tutti,
Vi espongo il mio problema nella speranza di trovare qualcuno che mi possa aiutare.
Con vb.net devo generare un file Xml che all'interno contenga in un tag il contenuto di un pdf convertito in base 64.
Ora, creare un nuovo tag in Xml non è un problema così come aprire in lettura un file pdf.
Ho trovato anche una funzione che dovrebbe convertire in base64 il mio file pdf ma sembra che la conversione non sia corretta (almeno così mi dice chi prova a leggere il file che ho creato)
Vi riporto di seguito il codice che ho scritto
        Dim ByteData() As Byte
        Dim m_xmld As XmlDocument
        Dim xmlNodo As XmlNode
        Dim xmlBytePdf As XmlTextWriter
        Dim strByte As String

        ByteData = File.ReadAllBytes("D:\Miofile.pdf")
        ' Apertura del file XML
        xmlBytePdf = New XmlTextWriter("c:\fileoutput.xml", Encoding.UTF8)
        ' Scrittura dei dati in Base64
        xmlBytePdf.WriteBase64(ByteData, 0, UBound(ByteData))

In questo modo (credo !) scivo nel fileoutput.xml il contenuto del file "Miofile.pdf" in base 64
Qualcuno mi sa dire se sto facendo bene o se sbaglio da qualche parte (e dove) ?
Grazie
Ciao
501 messaggi dal 09 giugno 2006
Contributi
Ciao.

Per la parte di struttura XML mancano le varie istruzioni di dichiarazione/apertura XML, creazione elementi, ecc. ma penso che tu abbia omesso volontariamente questa parte di codice.

Per la parte di lettura del file attenzione ad utilizzare ReadAllBytes: in caso di documenti di grandi dimensioni potresti avere problemi di occupazione della memoria.

Infine per la parte di scrittura c'è un piccolo errore. L'ultimo argomento del metodo WriteBase64 è la lunghezza dell'array di byte entre tu passi il numero dell'elemento superiore. Quindi dovrai semplicemente sostituire UBound(ByteData)) (in .NET sarebbe meglio scrivere ByteData.GetUpperBound(0)) con ByteData.Length.

Ciao.

.:. Marcello Rutter .:.

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.