begin process at 2012 05 27 05:53:44
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

XML

 > ASP.NET - CLASSE DE PASSAGE D'UN FICHIER XML (BASE64) VERS UN FICHIER IMAGE

ASP.NET - CLASSE DE PASSAGE D'UN FICHIER XML (BASE64) VERS UN FICHIER IMAGE


 Information sur la source

Note :
6,67 / 10 - par 3 personnes
6,67 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10
Catégorie :XML Source .NET ( DotNet ) Classé sous :xml, base64, image, convertir, fichier Niveau :Initié Date de création :29/04/2004 Date de mise à jour :04/05/2004 11:26:43 Vu :12 587

Auteur : fabrice69

Ecrire un message privé
Site perso
Ce membre participe au partage de revenus publicitaires
Commentaire sur cette source (7)
Ajouter un commentaire et/ou une note


 Description

Dans le cadre d'une utilisation de WebService pour des Produits, il est pratique de pouvoir passer d'un fichier Image vers un fichier XML en Base 64 et de pouvoir faire le chemin inverse (pour le décodage).

-------- Précision après le message posté -----------
La base de travail pour cet classe est un article trouvé sur perfectXML que j'ai transformé en VB.NET et adapté sous forme de classe :
- http://www.perfectxml.com/Answers.asp?ID=2
------- -------------------------------------------------- -

Source

  • Imports System.Drawing
  • Imports System.IO
  • Imports System.Text
  • Imports System.Xml
  • Imports System.Xml.Serialization
  • Public Class FileToXML
  • ' -----------------------------------------------------
  • Public Shared Function FileToXML(ByVal CheminFichier As String) As String
  • ' Serialization: image to XML (base64)
  • Dim srcImage As Image = New Bitmap(CheminFichier)
  • Dim memStream As MemoryStream = New MemoryStream()
  • Dim strBuilder As StringBuilder = New StringBuilder()
  • srcImage.Save(memStream, System.Drawing.Imaging.ImageFormat.Gif)
  • Dim writerSerialized As StringWriter = New StringWriter(strBuilder)
  • Dim writerXMLText As XmlTextWriter = New XmlTextWriter(writerSerialized)
  • Dim serializerXML As XmlSerializer = New XmlSerializer(memStream.GetBuffer.GetType)
  • serializerXML.Serialize(writerXMLText, memStream.GetBuffer())
  • writerXMLText.Close()
  • Return strBuilder.ToString()
  • End Function
  • ' -----------------------------------------------------
  • Public Shared Function XMLToFile(ByVal StreamXMLImage As String) As Image
  • ' Deserialization: XML (base64) to image
  • Dim readerText As XmlTextReader = New XmlTextReader(New StringReader(StreamXMLImage))
  • Dim MonStream As MemoryStream = New MemoryStream()
  • Dim serializerXML As New XmlSerializer(MonStream.GetBuffer().GetType())
  • Dim Buffer() As Byte = serializerXML.Deserialize(readerText)
  • Dim ResultImage As Image = New Bitmap(New MemoryStream(Buffer))
  • readerText.Close()
  • Return ResultImage
  • End Function
  • ' -----------------------------------------------------
  • End Class
Imports System.Drawing
Imports System.IO
Imports System.Text
Imports System.Xml
Imports System.Xml.Serialization

Public Class FileToXML

 ' -----------------------------------------------------
 Public Shared Function FileToXML(ByVal CheminFichier As String) As String
 ' Serialization: image to XML (base64)

  Dim srcImage As Image = New Bitmap(CheminFichier)
  Dim memStream As MemoryStream = New MemoryStream()
  Dim strBuilder As StringBuilder = New StringBuilder()
  srcImage.Save(memStream, System.Drawing.Imaging.ImageFormat.Gif)
  Dim writerSerialized As StringWriter = New StringWriter(strBuilder)

  Dim writerXMLText As XmlTextWriter = New XmlTextWriter(writerSerialized)
  Dim serializerXML As XmlSerializer = New XmlSerializer(memStream.GetBuffer.GetType)
  serializerXML.Serialize(writerXMLText, memStream.GetBuffer())
  writerXMLText.Close()

  Return strBuilder.ToString()

 End Function

 ' -----------------------------------------------------
 Public Shared Function XMLToFile(ByVal StreamXMLImage As String) As Image
 ' Deserialization: XML (base64) to image
  Dim readerText As XmlTextReader = New XmlTextReader(New StringReader(StreamXMLImage))
  Dim MonStream As MemoryStream = New MemoryStream()
  Dim serializerXML As New XmlSerializer(MonStream.GetBuffer().GetType())
  Dim Buffer() As Byte = serializerXML.Deserialize(readerText)

  Dim ResultImage As Image = New Bitmap(New MemoryStream(Buffer))
  readerText.Close()

  Return ResultImage
 End Function
 ' -----------------------------------------------------

End Class

 Conclusion

Bon coding.

Romelard Fabrice (Alias F___)


 Sources du même auteur

Source .NET (Dotnet) SHAREPOINT 2007 - OBTENIR LA LISTE DES WEBPARTS DANS UNE PAG...
Source .NET (Dotnet) SHAREPOINT 2007 - OBTERNIR LA LISTE DES FEATURES D'UN SITE
Source avec une capture Source .NET (Dotnet) SHAREPOINT 2007 - CHARGER LA LISTE DES COLLATIONS SHAREPOINT...
Source avec une capture Source .NET (Dotnet) SHAREPOINT 2007 - CHARGER LA LISTE DES LANGUES INSTALLÉES DA...
Source .NET (Dotnet) C# - FONCTION TRÈS SIMPLE POUR ENVOYER UN MAIL VIA SMTP

 Sources de la même categorie

AJOUTER UN NOEUD DANS UN FICHIER XML DÉJÀ EXISTANT par pkzip
BASE DE DONNÉ BDD VERS XML : CONVERSION D'UN RECORDSET VERS ... par pifou25
Source .NET (Dotnet) GÉNÉRATION D'UN XML À PARTIR D'UNE BDD ACCESS par fabienfs
Source avec Zip LECTEUR DE FLUX RSS OBJET par Yoyo2B
Source avec Zip Source .NET (Dotnet) TRANSFORMATION XSLT POUR OBTENIR DU CODE XTML VALIDE À INTÉG... par saizonou

 Sources en rapport avec celle ci

AJOUTER UN NOEUD DANS UN FICHIER XML DÉJÀ EXISTANT par pkzip
Source avec Zip Source avec une capture Source .NET (Dotnet) MANIPULATION D'IMAGES EN TEMPS RÉEL - RÉDUCTION COMPRESSION ... par badrbadr
CONVERTIR RAPIDEMENT UN FICHIER UPLOADÉ (IMAGE) ET OBTENIR L... par ObelixSuisse
Source .NET (Dotnet) ASP.NET - SAUVEGARDER DANS UN FICHIER XML LA LISTE DES FICHI... par fabrice69
Source avec Zip Source .NET (Dotnet) LECTURE D'UN FICHIER XML par Skyride

Commentaires et avis

Commentaire de DarkRomu le 04/05/2004 10:43:43

Alors effectivement le source est intéressant mais j'ai vu exactement le même code à cette adresse http://www.perfectxml.com/Answers.asp?ID=2
Sauf que c'est une version C# (!?) mais comme les commentaires sont exactement les mêmes, je me dis que cela doit être juste une traduction. Donc si c'est la cas ce serait bien de donner l'origine du code (mais je viens peut-être de la faire) part respect pour l'auteur.
Et d'ailleurs pourquoi le traduire le source en VB ? Je n'ai rien contre VB.Net mais quitte à repomper du code autant respecter le source d'origine. Evidemment, si  tu as besoin de la réecrire en VB.Net pour tes besoins personels, soit, mais alors pourquoi ne pas donner aussi le source d'origine en C# ?

Commentaire de fabrice69 le 04/05/2004 11:23:17 administrateur CS

Exact, j'ai pris la version de Perfect XML que j'ai retraduit en VB.NET :
- http://www.perfectxml.com/Answers.asp?ID=2

C'est la raison pour laquelle j'ai laissé tous les commentaires d'origine et pas cherché à maquiller le code fourni.

En revanche, tes commentaires personnels sur le lien manquant et tes jugements de valeurs sont inutiles dans ce message, si tu connaissais mes autres sources ou articles, tu saurais que ce n'est pas du tout mon style mais juste un oubli lors du post.

F___

Commentaire de fabrice69 le 04/05/2004 11:24:56 administrateur CS

PS: si tu avais regardé dans l'exemple de PerfectXML, tu aurais vu que ce n'est pas du tout géré en classe mais directement dans une WinForm. Il n'y a pas de gestion des appels extérieurs. Ce n'est donc pas du simple 'pompage' comme tu l'insinues.

F___

Commentaire de DarkRomu le 04/05/2004 17:32:52

Je ne vois pas pourquoi tu le prends aussi mal. Je n'ai rien insinué du tout car j'ai été très clair dans mes propos et suffisamment explicite pour te dire que c'est :
1) une traduction de code
2) que tu as oublié de citer tes sources
3) que c'est un pompage de code (cela t'a apparemment paru péjoratif mais vu le peu de modification, on peut considérer que c'est un pompage, mais là je ne vois rien de dramatique en soit, il ne faut pas le prendre mal).
Je ne crois pas avoir été incorrect, ou insultant. Je n'ai pas non plus dramatisé en disant que c'était "un grave oubli", "une faute énorme", "une façon malhonnété de faire". Je t'ai laissé une chance de t'expliquer ce que tu as fait. Tu as confirmé et rectifié ton oubli, c'était plutôt ça le but de mon commentaire et tu bien répondu. Maintenant si tu te sens visé à ce point là, je comprends pas vraiment?
Je voulais aussi savoir aussi pourquoi tu ne fournissais pas le code en C# (ce qui était ma dernière question) vu que le code d'origine est écrit dans ce langage, que ça ne coûte pas plus cher (voire moins cher) de la faire, et que beaucoup d'entre nous le pratique.

Commentaire de fabrice69 le 04/05/2004 18:20:32 administrateur CS

OK, soit, j'étais énervé (stress actuel dans mon boulot).

Petite explication de texte :
- Le fichier est une classe autonome que j'ai traduite d'une source C# qui elle était une simple procédure d'une Winform.
- Elle est traduite en VB.NET, car tout le projet dans lequel elle a été intégrée est en VB.NET et non en C#.
- Le terme 'pompage' est a mon sens péjoratif, j'ai laissé tout ce qui est issu du C# tel quel parce que je n'avais pas de raison de le masquer. Par contre ce n'est pas du tout du pompage, la version de base n'est pas du tout gérée comme telle et surtout pas intégrable directement comme c'est le cas maintenant.

F___

Commentaire de fabrice69 le 23/08/2005 11:01:21 administrateur CS

Pour ceux qui sont intéressés par cette astuce mais qui souhaiterait en C#, vous avez un équivalent ici :
- http://www.csharpfr.com/code.aspx?ID=33379

Cordialement
Romelard Fabrice.

Commentaire de CireEricCrie le 29/12/2007 03:31:04

Pour ma part, je trouve trés bien que certains se donnent la peine de traduire du code d'un langage  a un autre et je trouve ridicule ces discutions sur la paternité d'une source... Qui a fait quoi on s'en moque dés l'instant ou l'intention et d'aider et pas de frimer!

 Ajouter un commentaire


Discussions en rapport avec ce code source dans le forum

xml et images [ par fraud ] farfadetbonjourje cherche comment on crée un lien à partir d'un fichier xml vers un fichier image.jpg pour faire apparaitre l'image dans une animation ASP : convertir une latitude et une longitude en un point sur une carte (une image) [ par matlocker ] Bonjour,J'ai un petit souci, je dois positionner un certain nombre de ville sur une carte de france (une image gif) dans un document html (utilisant A script de recherche de fichier [ par pichoro ] Bonjour, je recherche un script ASp permettant de verifier si une image appellée x.jpg se trouve bien dans un repertoire "images", si cette image exis recherche si fichier image existe [ par pichoro ] Bonjour, je recherche un script ASp permettant de verifier si une image appellée x.jpg se trouve bien dans un repertoire "images", si cette image exis Parser un fichier XML sur un serveur distant [ par Skyride ] Bonsoir à tousQuelqu'un pourrait t'il me renseigner sur un point particulier...Voila je vous expose mon problème, un fichier de données XML est stocké lien url [ par Kashiko ] Je tente de recreer un principe de SAP qui :recoit une requete HTML (soit simplement une adresse avec des parametres)et renvoit un fichier de type xml Convertir un fichier en formulaire [ par ax1ax2ax ] Bonjour,J'ai le problème suivant.Suite à la conversion d'un formulaire en fichier, je souhaite récupérer les données sous un formulaire pour les modif Comment inserer une image ou un fichier dans une base Access ? [ par langju ] Bonjour à tous,voilà j'ecris pour un petit problème :Sur une page ASP j'ai crée un formulaire avec un FileUpload(champ de fichier.) ma balise form est Appel d'une function à partir d'une image [ par Wassup ] j'aimerais en cliquant sur une image appeller une function en passant un paramêtre, du style :ouvrepopavec(fichier.htm)J'ai essayé les événements1)&lt Appel d'une fonction à partir d'une image [ par Wassup ] j'aimerais en cliquant sur une image appeller une function en passant un paramêtre, du style :ouvrepopavec(fichier.htm)J'ai essayé les événements1)&lt


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 2,465 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales