|
begin process at 2008 07 20 15:52:36
Derniers logiciels
|
Trouver une ressource (Nouvelle version du moteur, plus rapide & pertinent, essayez le !)
Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum.
Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !
Sujet : contenu d'un fichier byte[] en string via WebService... [ Archives / .NET ] (Bowen123)
|
contenu d'un fichier byte[] en string via WebService...
le 10/03/2005 11:27:42

Bowen123
|
Bonjour tous, Je tente de passer le contenu d'un fichier ( string monContenuFichierString = Convert.ToBase64String(byte[ ] monContenuFichier); ) dans une string via webService. ce contenu est insrer dans une string "XML" que j'ai construit, genre :
maStringXML = "<Fichier nom=\"" + nomFichier + "\"" + " contenu= \"" + monContenuFichierString + "\"" + "</Fichier>")
Mon problème est que je n'ai pas la fin de ma string, a savoir la fermeture de balise, car je supose ke le contenu est trop "gros";
J'ai essayé de passer par un StringBuilder meme resultat:
public string getXml(bool contenu){
StringBuilder xml= new StringBuilder(); xml.Insert(xml.Length,"<Fichier nom=\"" + this.ficNom +"\" path=\"" + this.ficSpec);
if (contenu) { xml.Insert (xml.Length,"\" >"); xml.Insert(xml.Length,"<Contenu=\"byte\">" + Convert.ToBase64String (this.FicContenu,0,this.FicContenu.Length));//FicContenu est un byte[ ] xml.Insert(xml.Length, "</Contenu>"); }
xml.Insert(xml.Length, "\" >"); xml.Insert(xml.Length, "</Fichier>");
return xml.ToString();
Je ne peu pas utilisé les Objet XML (XMLNode, XMLElement, etc.. ), obligé de passé par une string (directive projet).
des idées?
|
|
|
|
Re : contenu d'un fichier byte[] en string via WebService...
le 10/03/2005 12:16:05
|
|
Re : contenu d'un fichier byte[] en string via WebService...
le 10/03/2005 17:43:34

Bowen123
|
Merci!  C'est vrai que c'est un peu plus propre comme ça.  cependant, je viens de constater que l'erreur venai du chargement de cette string :
XmlDocument dataXML = new XmlDocument();
dataXML.LoadXml(chaineXML);
Je pense que certains caractere du contenu (du tableau de byte reconverti en string) ne passe pas dans le load.
Je suis vraiment pas doué pour le xml et les classes xml en C#.
Un autre coup de main please, merci 
|
|
|
|
Re : contenu d'un fichier byte[] en string via WebService...
le 10/03/2005 17:59:58

Crazyht
(Admin CS)
|
Hummm... Suis pas certain de ton hypothese, En effet la Base64 est justement faites pour que toutes les valeurs d'un byte soit transformer en qq chose de valide en XML (ou autre) Par contre essaie dans : xml.Append( "<Contenu=\"byte\">"); Essaie de retirer le ="byte", je suis pas sur que ca soit vraiment valide en XML sous cette forme <contenu="byte">blabla</contenu> je parirer plus pour un flux ressemblant à : public string getXml(bool contenu) { StringBuilder xml=new StringBuilder(); xml.Append("<Fichier nom=\""); xml.Append(this.ficNom); xml.Append("\" path=\""); xml.Append(this.ficSpec); xml.Append("\" >"); if (contenu) { xml.Append("<ContenuType>byte</ContenuType>"); xml.Append("<Contenu>"); xml.Append(Convert.ToBase64String (this.FicContenu,0,this.FicContenu.Length)); xml.Append( "</Contenu>"); } xml.Append("</Fichier>"); return xml.ToString();} A++ Crazyht MVP Visual C#.NET[Admin Codes-Sources] [Membre Developer-Association]
|
|
|
|
Re : contenu d'un fichier byte[] en string via WebService...
le 11/03/2005 10:39:43

Bowen123
|
le loadXml du dataDocument souleve tjrs une XMLException. (" Jeton inattendu.Le jeton attendu est 'NAME' Ligne 1 position 102.")
peut on chargé la string XML formé ci dessus meme si elle ne contien pas la ligne d'encoding? ca vien peut etre de la?..
|
|
|
|
Re : contenu d'un fichier byte[] en string via WebService...
le 11/03/2005 10:42:55

Crazyht
(Admin CS)
|
Ha ha bonne question, je viens juste de penser à la meme chose en lisant le debut de ta reponse :) je serait tenter de dire : "Essaie :)" A++ Crazyht MVP Visual C#.NET[Admin Codes-Sources] [Membre Developer-Association]
|
|
|
|
Re : contenu d'un fichier byte[] en string via WebService...
le 11/03/2005 18:42:21

Bowen123
|
bon pour ceux qui aurait le meme probleme, j'ai résolu le mien en enlevant l'attribut de mon noeud enfant (ici le noeud "CONTENU").
apparement soit : - il ne peu y avoir d'attribut à un noeud enfant - il ne peu y avoir et un attribut ET une valeur dans le neoud en meme temps....
Merci Crazyht pour ton soutient ;)
|
|
|
|
Re : contenu d'un fichier byte[] en string via WebService...
le 11/03/2005 18:50:27

Crazyht
(Admin CS)
|
Mais dis mois c t pas ma dexieme reponse ca ? A++ Crazyht MVP Visual C#.NET[Admin Codes-Sources] [Membre Developer-Association]
|
|
|
|
Re : contenu d'un fichier byte[] en string via WebService...
le 15/03/2005 16:26:25

Bowen123
|
Sisi  c bien pour ca que je te remercie d'ailleur ;) Cependant, le XML Myster demeure... pkoi ne peut-on pas avoir d'attribut ET une valeur pour un noeud enfant?... mais ça.. c'est une autre h... euh un autre sujet 
|
|
|
|
Re : contenu d'un fichier byte[] en string via WebService...
le 16/03/2005 08:30:00

Crazyht
(Admin CS)
|
En fait dans ce cas cela devrait s'ecrire : <contenu type='byte'>blabla</contenu> et pas <contenu='byte'>blabla</contenu> l'attribut du noeud etant type :) A++ Crazyht MVP Visual C#.NET[Admin Codes-Sources] [Membre Developer-Association]
|
|
|
Classé sous : insert, string, contenu, xml, length
|
CalendriCode
| | | L | M | M | J | V | S | D |
| | 1 | 2 | 3 | 4 | 5 | 6 |
| 7 | 8 | 9 | 10 | 11 | 12 | 13 |
| 14 | 15 | 16 | 17 | 18 | 19 | 20 |
| 21 | 22 | 23 | 24 | 25 | 26 | 27 |
| 28 | 29 | 30 | 31 | | | |
|
Téléchargements
Logiciels à télécharger sur le même thème :
|
|