[Errore] Lettura allegato contenuto in XML

sabato 20 giugno 2015 - 12.14
Tag Elenco Tags  C#  |  .NET 4.0  |  Windows 7

marco_86 Profilo | Newbie

Ciao,
ho un XML al quale è allegato un pdf.

...
<Allegati>
<NomeAttachment>0140802001.pdf</NomeAttachment>
<FormatoAttachment>PDF</FormatoAttachment>
<DescrizioneAttachment>Fattura per debitore XXX</DescrizioneAttachment>
<Attachment>JVBERi0...JSVFT0YK</Attachment>
</Allegati>
...

Recupero dall'XMl la stringa contenuta nel tag <Attachment> e la converto in array di byte utilizzando Convert.FromBase64String ed infine salvo il file con
File.WriteAllBytes.

Ma quando provo ad aprire il file generato ricevo un errore:
"Adobe non è in grado di aprire '0140802001.pdf' perché è un tipo di file non supportato oppure perché il file è stato danneggiato (ad esempio è stato inviato in allegato a un messaggio e-mail e non è stato decodificato correttamente)"

L'XML che contiene l'allegato è il risultato della conversione di un file .xml.p7m firmato digitalmente, conversione che apparentemente va a buon fine.

Mi sapete dire dove sbaglio ? Avete una soluzione all'errore ?

Grazie mille,
marco




ysdemarc Profilo | Expert

Non usare WriteAllBytes.. io ho avuto gli stessi problemi (anche se il file da estrarre dall'xml era un archivio zip) ed ho risolto scrivendo byte a byte

Il codice sorgente non è stato renderizzato qui
perchè non c'è sufficiente spazio.
Clicca qui per visualizzarlo in una nuova finestra

Vedi se così ti funziona...

Vincenzo
Programmatore sbilenco

marco_86 Profilo | Newbie

In questo modo sembra funzionare perfettamente.

Grazie mille Vincenzo.

Ciao

Marco
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2025
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5