2010-07-02 4 views
0

J'ai vu this post et je ne comprends pas pourquoi il est si difficile de poster une image sur le côté serveur avec flash, ou est-ce juste que l'affiche ne l'a pas fait correctement?Existe-t-il un moyen plus simple de publier une image sur le serveur avec flash?

Jusqu'à présent mes progrès est:

var ba:ByteArray = (new PNGEncoder()).encode(vidBmpHolder); 
var request : URLRequest = new URLRequest("http://localhost:3000/doodles"); 
request.method = URLRequestMethod.POST; 

Répondre

0

dans ce poste, le flash est pas le problème, mais le Serverside.

+0

Pas un problème, mais en difficulté .. – user198729

+0

@ user198729: Problème, en difficulté, quelle est la différence? Le fait est que rien d'autre qu'un caractère espace manquait dans la méthode ruby ​​ridiculement longue 'getMultiPartRequestData'. C'est quelque chose que j'attendrais d'un cadre comme RoR à faire hors de la boîte. Probablement c'est le cas, ou du moins il y a un certain nombre de rubis prêts à être branchés, mais l'auteur n'a pas essayé. – back2dos

0

Il existe de nombreux moyens plus simples d'envoyer une image au serveur dans Flash. L'utilisateur a choisi de rendre le côté Flash extrêmement complexe afin de rendre le côté serveur extrêmement facile. Gardez également à l'esprit que l'utilisateur envoie une image générée dynamiquement, l'envoi d'une image choisie par l'utilisateur est encore plus simple pour le client et le serveur. Le moyen le plus simple d'envoyer une image ou des données d'un client vers un serveur est d'utiliser URLRequest comme l'a fait l'autre affiche, mais de placer directement l'image dans le champ de données, aucune partie de la messagerie en plusieurs parties. Ensuite, côté serveur, lisez le flux de requêtes et stockez-le dans son intégralité en tant qu'image. En fonction de la plate-forme du serveur, cela peut prendre plus de code que d'utiliser un message de formulaire standard (plus de code que dans 5-6 lignes au lieu de 1-2). De toute façon, c'est généralement simple.

D'autres options sont d'utiliser les services web (mauvais, encodés en base64) ou AMF/Remoting (pas mal, mais pas de gros avantage ici, mais plus facile s'il est déjà configuré et utilisé ailleurs).

+0

Merci pour le conseil! Quel paquet devrais-je importer pour utiliser 'PNGEncoder'? – user198729

+0

@ user198729, 'PNGEncoder' est une classe de structure Flex dans' mx.graphics.codec'. –

+0

@ user198729: si vous ne souhaitez pas utiliser flex, vous pouvez utiliser l'encodeur as3corelib: http://code.google.com/p/as3corelib/source/browse/#svn/trunk/src/com/ adobe/images – back2dos

0

Il existe un moyen plus simple de télécharger des images à l'aide de FileReference et d'appeler sa méthode de téléchargement en spécifiant l'URL que vous souhaitez télécharger. Je pense que le message que vous avez mentionné est plus compliqué parce que l'affiche génère dynamiquement une image et la télécharge ensuite. FileReference peut uniquement télécharger les fichiers d'image locaux sélectionnés par l'interaction de l'utilisateur.

+0

L'image que je poste est également générée dynamiquement. – user198729

Questions connexes