Connaître le type d'un fichier grace à son codage base64Binary!
Bonjour,
Je suis actuellement sur un projet dans lequel je dois faire interagir des formulaires InfoPath et un web service qui sera chargé du stockage en BD de certaines informations dudit formulaire.
L'envoie des informations se fait sous forme de chaine de caractères (fichier intégral) et est ensuite stocké en XML pour l'analyse; cependant, mon formulaire contient un champ "piece jointe";
Voici un partie du fichier XML résultant:
Code:
1 2 3 4 5
| <sitmat>Célibataire</sitmat>
<nbrenfant>0</my:nbrenfant>
<Dateactu >06-04-2009 </Dateactu>
<fichier>x0lGQRQAAAABAAAAAAAAAAkAAAAIAAAAZABhAG4ALgB0AHgAdAAAADc2NjY1NTcxNg==
</fichier> |
En observant le fichier XSchema du formulaire, j'ai remarqué que le type du champ "pièce jointe" est en "base64Binary".
Mon soucis, est comment à partir de cette chaine contenue dans <fichier></fichier>, pouvoir reconstituer intégralement le fichier joint, et connaitre son type :cry:?
NB: l'utilisateur peut joindre n'importe quel fichier(.jpg,.png,.doc.ppt ....)
Connaître le type d'un fichier grace à son codage base64Binary!
Salut,
J'ai testé le code, et lorsque j'affiche le résultat dans la console, je vois le nom du fichier, ainsi que son contenu (juste un fichier .txt). Mais aussi, ya des caractères plutôt bizarre, je pense bien que c'est la signature du type de fichier, mais comment pouvoir récupérer cela.
Voici un bout de code que j'ai utilisé:
Code:
1 2 3 4 5 6
| public string decodeBase64String(string encodedData)
{
byte[] encodedDataAsBytes = System.Convert.FromBase64String(encodedData);
string returnValue = System.Text.UnicodeEncoding.ASCII.GetString(encodedDataAsBytes);
return returnValue;
} |
Ce que j'aimerais, c'est à partir du résultat du codage en base64Binary retrouver le fichier intégralement, sans même connaitre son type.
C'est plutôt la mer tout ça... :oops: