Convertir la pièce jointe d'un mail en son type de fichier

sspizer Messages postés 38 Date d'inscription mercredi 4 juillet 2007 Statut Membre Dernière intervention 23 février 2009 - 4 juil. 2007 à 16:27
sspizer Messages postés 38 Date d'inscription mercredi 4 juillet 2007 Statut Membre Dernière intervention 23 février 2009 - 9 juil. 2007 à 10:19
Bonjour à tous.


Actuellement je développe une application qui doit lire le contenu des
mails jusque là j'arrive à récupérer un peu ce que je veux le seul ick
vient des pièces jointe.

Sachant que le code d'une pièce jointe est en base64 et est assez conséquent:

<!-- BEGIN TEMPLATE: bbcode_code -->

Code :

 
//LES INFOS DE LA PIECE JOINTE
Content-type: image/jpeg; name=arrowLeft.jpg
Content-transfer-encoding: base64
Content-disposition: inline; filename=arrowLeft.jpg
 
/9j/4AAQSkZJRgABAgEASABIAAD/4QQbRXhpZgAATU0AKgAAAAgABwESAAMAAAABAAEAAAEa
AAUAAAABAAAAYgEbAAUAAAABAAAAagEoAAMAAAABAAIAAAExAAIAAAAbAAAAcgEyAAIAAAAU
AAAAjYdpAAQAAAABAAAApAAAANAAAABIAAAAAQAAAEgAAAABQWRvYmUgUGhvdG9zaG9wIENT
IFdpbmRvd3MAMjAwNzowNToyNSAxMDoyNjoyMQAAAAAAA6ABAAMAAAABAAEAAKACAAQAAAAB
AAAAFaADAAQAAAABAAAAKwAAAAAAAAAGAQMAAwAAAAEABgAAARoABQAAAAEAAAEeARsABQAA
AAEAAAEmASgAAwAAAAEAAgAAAgEABAAAAAEAAAEuAgIABAAAAAEAAALlAAAAAAAAAEgAAAAB
AAAASAAAAAH/2P/gABBKRklGAAECAQBIAEgAAP/tAAxBZG9iZV9DTQAB/+4ADkFkb2JlAGSA
AAAAAf/bAIQADAgICAkIDAkJDBELCgsRFQ8MDA8VGBMTFRMTGBEMDAwMDAwRDAwMDAwMDAwM
DAwMDAwMDAwMDAwMDAwMDAwMDAENCwsNDg0QDg4QFA4ODhQUDg4ODhQRDAwMDAwREQwMDAwM
DBEMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwM/8AAEQgAKwAVAwEiAAIRAQMRAf/dAAQA
Av/EAT8AAAEFAQEBAQEBAAAAAAAAAAMAAQIEBQYHCAkKCwEAAQUBAQEBAQEAAAAAAAAAAQAC
AwQFBgcICQoLEAABBAEDAgQCBQcGCAUDDDMBAAIRAwQhEjEFQVFhEyJxgTIGFJGhsUIjJBVS
wWIzNHKC0UMHJZJT8OHxY3M1FqKygyZEk1RkRcKjdDYX0lXiZfKzhMPTdePzRieUpIW0lcTU
5PSltcXV5fVWZnaGlqa2xtbm9jdHV2d3h5ent8fX5/cRAAICAQIEBAMEBQYHBwYFNQEAAhED
ITESBEFRYXEiEwUygZEUobFCI8FS0fAzJGLhcoKSQ1MVY3M08SUGFqKygwcmNcLSRJNUoxdk
RVU2dGXi8rOEw9N14/NGlKSFtJXE1OT0pbXF1eX1VmZ2hpamtsbW5vYnN0dXZ3eHl6e3x//a
AAwDAQACEQMRAD8A0Ug0ucGtBLjoAOSUg0ucGtBLiYAHJK6ronRBigZGSAcgj2t7MH/k0lOa
fq5kDFD5/WXNL/T8htGz+v70l07v6Qz+o/8ALWkkp//Q7P6s4WI5hyi4WXgkbP3P9f3l0IXB
4eZfh3i+kwRyDwR+65dl07qFGfT6lRhw+mw8tKSkzv6Qz+o/8taSTv6Qz+o/8taSSn//0dFH
w82/DvbdSYI5B4I/dcgJJKerPXsP7O3L7hjmmr87cSyG/wBXT6SS5Pt80klP/9n/7QjIUGhv
dG9zaG9wIDMuMAA4QklNBAQAAAAAAAccAgAAAgACADhCSU0EJQAAAAAAEEYM8okmuFbasJwB
obCnkHc4QklNA+0AAAAAABAASAAAAAEAAgBIAAAAAQACOEJJTQQmAAAAAAAOAAAAAAAAAAAA
AD+AAAA4QklNBA0AAAAAAAQAAAB4OEJJTQQZAAAAAAAEAAAAHjhCSU0D8wAAAAAACQAAAAAA
AAAAAQA4QklNBAoAAAAAAAEAADhCSU0nEAAAAAAACgABAAAAAAAAAAI4QklNA/UAAAAAAEgA
L2ZmAAEAbGZmAAYAAAAAAAEAL2ZmAAEAoZmaAAYAAAAAAAEAMgAAAAEAWgAAAAYAAAAAAAEA
NQAAAAEALQAAAAYAAAAAAAE4QklNA/gAAAAAAHAAAP////////////////////////////8D
6AAAAAD/////////////////////////////A+gAAAAA////////////////////////////
/wPoAAAAAP////////////////////////////8D6AAAOEJJTQQIAAAAAAAQAAAAAQAAAkAA
 
//ETC ... et ça c'est juste une pauvre pièce jointe qui est une toute petite photo.
 

<!-- END TEMPLATE: bbcode_code -->

Notre problème est le suivant:

1) Comment recréer le fichier d'origine à partir de ce fameux code base64.


Ce que j'ai déjà essayé:

1) J'ai écrit le code base 64 dans un fichier en renomant le fichier avec l'extension approprié.(ne marche pas)

2) J'ai pris la string du code d'une image, je l'ai converti en base 64
puis reconvertit en string j'ai vérifié que les deux string étaient
identiques, puis jai collé la string dans un fichier que j'ai renomé
avec la meme extension et enfin je l'ai ouverte. (ne marche pas)


Ce qui me suffirait pour le moment:

1) Recréer l'image à partir du code base64 en le reconvertissant ou non
en sachant que les seules infos que j'ai sont celles que j'ai collé
plus haut .


TOUTES les propositions sont bien évidemment les bienvenues.

8 réponses

SharpMao Messages postés 1024 Date d'inscription mardi 4 février 2003 Statut Membre Dernière intervention 7 juin 2010 69
4 juil. 2007 à 16:42
Hello,

Essaie avec Convert.FromBase64String.

Elle prend en paramètre une string en Base64, et renvoie un tableua de byte, que tu n'as plus qu'à écrire dasns ton fichier cible.

Amicalement, SharpMao

"C'est pas parce qu'ils sont nombreux à avoir tort qu'ils ont raison!"
(Coluche / 1944-1986 / Pensées et anecdotes)
0
sspizer Messages postés 38 Date d'inscription mercredi 4 juillet 2007 Statut Membre Dernière intervention 23 février 2009
5 juil. 2007 à 12:39
En fait j'ai déjà fait le test ça ne marche pas non plus :(
0
SharpMao Messages postés 1024 Date d'inscription mardi 4 février 2003 Statut Membre Dernière intervention 7 juin 2010 69
5 juil. 2007 à 12:58
Es-ce que tu as pris tout le contenu Base64 dans une seule string avant d'appeler la méthode, ou est-ce que tu l'as fait par petits bouts ?

Amicalement, SharpMao

"C'est pas parce qu'ils sont nombreux à avoir tort qu'ils ont raison!"
(Coluche / 1944-1986 / Pensées et anecdotes)
0
sspizer Messages postés 38 Date d'inscription mercredi 4 juillet 2007 Statut Membre Dernière intervention 23 février 2009
6 juil. 2007 à 10:23
en fait j'ai pris l'intégralité du contenu base64 dans une string puis j'ai executé la méthode.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
SharpMao Messages postés 1024 Date d'inscription mardi 4 février 2003 Statut Membre Dernière intervention 7 juin 2010 69
6 juil. 2007 à 12:20
Par hasard, est-ce que le contenu base64 contienr aussi les retour à la ligne, si c'est le cas, enlève-les.
Si ce n'est pas ça, désolé, mais plus d'idée.

Amicalement, SharpMao

"C'est pas parce qu'ils sont nombreux à avoir tort qu'ils ont raison!"
(Coluche / 1944-1986 / Pensées et anecdotes)
0
sspizer Messages postés 38 Date d'inscription mercredi 4 juillet 2007 Statut Membre Dernière intervention 23 février 2009
6 juil. 2007 à 14:49
Non, il ne contient pas les retours à la ligne.

Je me disais que peut être le code de la photo ne suffit pas et qu'il faut spécifier certain attributs pour la recréer ...
Si des gens ont des idées.
0
tomlev Messages postés 25 Date d'inscription samedi 22 octobre 2005 Statut Membre Dernière intervention 28 août 2007
8 juil. 2007 à 12:15
Juste une petite précision au cas où : les en-têtes (Content-Type etc...) et la première ligne vide qui les suit ne font pas partie de la pièce jointe proprement dite, il faut les enlever avant de faire le décodage base64...
0
sspizer Messages postés 38 Date d'inscription mercredi 4 juillet 2007 Statut Membre Dernière intervention 23 février 2009
9 juil. 2007 à 10:19
t'inquiètes pas quand je convertis je prend juste le code base64 et pas le reste, j'ai laissé ses lignes pour infos ;)
0
Rejoignez-nous