2009-12-23 16 views
0

Je souhaite être en mesure d'envoyer une image de la page HTML vers un fichier XML en utilisant C#. L'image devrait être envoyée avec du texte, le problème est de savoir comment stocker l'image dans le fichier XML efficacement, de sorte qu'il peut être envoyé sur le fil et comment puis-je stocker la position de l'image sur le HTML page, de sorte qu'il peut être restauré plus tard dans la position d'origine? À l'origine, je devais garder un lien hypertexte dans mon fichier XML vers une image et le charger de cette façon sur la page HTML, en utilisant ASP.NET, mais je me demandais s'il y avait de meilleurs moyens?inclure une image dans un fichier XML

EDIT:

Alors, comment puis-je garder les coordonnées de l'image dans la page par rapport à tous les autres objets. De quelles façons puis-je l'enregistrer dans le fichier XML et comment puis-je obtenir les coordonnées? Utiliser ASP.NET, HTML et/ou JavaScript?

Répondre

4

Vous pouvez le faire mais c'est une très mauvaise idée. Si c'est dans un contexte ASP.Net alors la méthode de lien hypertexte semble beaucoup plus raisonnable.

Cependant, si vous insistez sur le codage des images en XML, puis jeter un oeil à base64 encoding ou ASCII 85.

+0

Alors pourquoi est-ce une mauvaise idée d'encoder l'image dans le fichier XML? Quels sont les avantages/inconvénients? –

+0

Le plus grand inconvénient est le frais généraux. Vous allez probablement avoir au moins une surcharge de 100%. Le deuxième inconvénient est que vous devrez encoder et décoder. Vous ne pouvez pas simplement examiner l'image dans une visionneuse normale jusqu'à ce qu'elle soit décodée. Le site client devrait savoir quel est le codage et être capable de le décoder. – philsquared

+0

Si vous pouvez garantir que les deux côtés peuvent gérer unicode, sans aucune réinterprétation en cours de route, vous pourrez peut-être optimiser davantage. En revanche, si vous encodez dans un format basé sur Ascii, mais que vous finissez par transférer comme, par exemple, ucs-16 ou ucs-32 de toute façon, vous pourriez ajouter une autre surcharge de 100-200%! – philsquared

0

Il existe des spécifications binary xml pour l'envoi de telles données via xml, mais elles ne répondent pas à votre problème spécifique de "position de l'image". Je voudrais simplement garder l'URL de l'image et l'utiliser.

0

Je ne recommanderais pas cela (mieux ajouter un lien sur le côté serveur que vous pouvez référencer un < img />, comme http://yourhost/someGuid peut-être, et laissez la sérialisation à votre serveur web et le navigateur), mais base64 serait un option facile pour votre utilisation.

0

Suivez les instructions KISS principle.

Faites ce que vous faisiez à l'origine, et gardez le lien dans le fichier.

0

Vous pouvez encoder l'image en tant que data URI, dont la plupart des navigateurs seem to support now. C'est toujours la base 64, et donc moins compacte qu'un fichier binaire séparé, mais c'est un moyen standard d'inlining de petites images.

Questions connexes