bonjour
je travail sur une application rails avec flash,j'envoie des donnes
depuis flash est ça marche ,le rails reçois ces données facilement ,
mon problème c'est que je voudrais que ces donnes soit affecter dans les
variables de rails par exemple:
flash envois une variable qui s'appelle Filedata ,je vérifier si il est
bien reçus avec puts params[:Filedata] c'est bien.
dans mon apllication rails il y a une une variable
params[:image][:uploaded_data]
car lorsque je travail sans flash j'utilise une formulaire qui fais ça
:
<% form_for(:contenu, :url => { :action=>'create'},:html => { :multipart
=> true }) do |f| -%>
<p>
<label for="title">Title</label><br/>
<%= f.text_field :title %>
</p>
<p>
<label for="summary">Summary</label><br/>
<%= f.text_area :summary %>
</p>
<p>
<label for="image">Associate Image:</label><br/>
<%= file_field 'image','uploaded_data' %>
</p>
<p>
<%= submit_tag 'Create' %>
</p>
<% end -%>
je veux remplacer la ligne qui contien file_field car se travails se
fais au niveu de flash,
j'essaie avec plusieurs méthode :
1-- params[:uploaded_data] = params[:Filedata]
2-- params[:image][:uploaded_data] = params[:Filedata]
3-- <%= hidden_field 'image', 'uploaded_data', :value =>
params[:Filedata] %>
j'ai passé 3 jour pour résolu ce problème mais rien ,si quelqu'un a des
solution je suis preneur ,et merci d'avance .
on 20.06.2008 14:27
on 20.06.2008 14:37
Essayer de mettre du HTML dans du flash, c'est souvent une mauvaise idée. Tu ferais mieux d'envoyer du XML tout propre à flash, qui sait très bien gérer le XML.
on 20.06.2008 14:39
(maintenant j'avoue que ça fait 3 fois que je relis ton mail et que je n'arrive toujours pas à comprendre ce que tu essaye de faire)
on 20.06.2008 15:48
bonjour > (maintenant j'avoue que ça fait 3 fois que je relis ton mail et que je > n'arrive toujours pas à comprendre ce que tu essaye de faire) je ré explique mon problème : ce code <%= file_field 'image','uploaded_data' %> sert a enregistre le path de file choisis dans le params uploaded_data qui est une attribut d'image ,c'est ça? je veux affecter a uploaded_data d'image le contenu de Filedata envoyer par flash sans file_fields, j'espère que mon mail soit compréhensible ,et merci a tout
on 20.06.2008 16:47
Bon, c'est toujours vague, mais je vais faire avec. Si ton problème est d'envoyer un fichier en utilisant Flash, alors il vaut mieux poser la question sur un forum ou une mailing-list dédiée à Macromedia Flash (c). Il y en a plein, en voici un que je trouve sympa : http://flashhouse.free.fr/forums/. <http://flashhouse.free.fr/forums/> Ici je crains que tu ne trouve pas de réponse à cette question, Ruby on Rails peut très bien tolérer une interface Macromedia Flash (c), et du moment que Macromedia Flash (c) sait envoyer un fichier par HTTP, Rails peut le recevoir. Maintenant, Rails ne contient pas Macromedia Flash (c) justement à cause de "Macromedia" et de "(c)". Ruby on Rails est un outil open-source, Macromedia Flash (c) est une technologie privative, et cette mailing list n'a pas pour vocation de servir de support aux produits Macromedia...
on 20.06.2008 18:23
Katebe Ibnmaleke wrote: > bonjour > >> (maintenant j'avoue que ça fait 3 fois que je relis ton mail et que je >> n'arrive toujours pas à comprendre ce que tu essaye de faire) > > je ré explique mon problème : > ce code <%= file_field 'image','uploaded_data' %> sert a enregistre le > path de file choisis dans le params uploaded_data qui est une attribut > d'image ,c'est ça? > je veux affecter a uploaded_data d'image le contenu de Filedata envoyer > par flash > > sans file_fields, > j'espère que mon mail soit compréhensible ,et merci a tout Si j'ai bien compris, tu souhaites qu'un objet flash remplace ton upload de fichier dans le formulaire. Si tel est le cas, tu ne devrais pas avoir un file_field mais un simple text_field (voir meme un hidden_field) qui contiendra le nom du fichier uploadé via ton objet flash. L'upload en lui meme étant réalisé via flash, une fonction javascript te permettra alors de remplir ton champs avec le nom du fichier Mais ce que tu ne peux pas faire (et il semble que ce soit ce que tu souhaites faire), c'est poser un fichier récupéré dans ton objet flash dans ton formulaire... Il y a bien 2 actions distinctes : Flash envoi le fichier et retourne le nom du fichier a ton javascript qui va l'écrire dans ton champs Le formulaire est posté pour renseigner ta base avec les champs dont le nom du fichier uploadé.
on 20.06.2008 18:51
Katebe Ibnmaleke a écrit : > bonjour > je travail sur une application rails avec flash,j'envoie des donnes > depuis flash est ça marche ,le rails reçois ces données facilement , > mon problème c'est que je voudrais que ces donnes soit affecter dans les > variables de rails par exemple: > flash envois une variable qui s'appelle Filedata ,je vérifier si il est > bien reçus avec puts params[:Filedata] c'est bien. > De quel type est ce params[:Filedata] envoyé par flash et reçu par Rails? C'est un String ou un fichier? Avant que tu ne rajoute ton bout de flash, Rails s'attend à recevoir un fichier dans params[:image][:uploaded_data]. Si tu lui donne autre chose, il ne va pas être content, ou alors il va falloir lui expliquer comment se débrouiller avec ce que tu lui donne. Si c'est un String, je vois pas trop comment Rails va se débrouiller pour ramener le fichier qui, de son coté, est resté sur la machine cliente (celle ou il y a le mec en train de cliquer dans son navigateur web). Dans ce cas, comme le suggérait Tony, il ne faut pas que flash parle directement à ton serveur rails, mais qu'il parle au navigateur de la machine cliente, en javascript, pour lui dire: met ce nom de fichier dans le champs du formulaire prévu à cet effet, puis soumet le formulaire au serveur.
on 24.07.2008 09:13
Katebe Ibnmaleke a écrit : > : > Il est peut-être un peu tard pour répondre, mais aujourd'hui le rails envy podcast pointe sur un lien qui semble parler de ce problème d'upload via flash http://seventytwo.co.uk/posts/making-swfupload-and-rails-work-together Si tu as déjà résolu ce problème, ça servira peut-être à quelqu'un qui tappera sur google
on 25.07.2008 11:08
J'utilise SwfUpload pour mon projet actuel et je voulais juste preciser que SwfUpload est une approche differente de ce qui est decrit plus haut: c'est une petite application Flash qui communique avec du Javascript. Cette approche comporte plusieurs avantages: * on peut uploader plusieurs fichiers a la fois * on peut filtrer les types de fichiers valides * surtout, l'appli peut indiquer immediatement au client si le fichier a uploader est trop gros (avec une approche cote serveur, tout le fichier doit etre uploade avant de pouvoir afficher une erreur...) Par contre, il y a pas mal d'obstacles a surmonter (l'article en parle, ms je n'ai pas regarde en detail): * probleme de securite (il faut remettre la session a la main dans l'URL + hacker CGI::Session, yuck!) * probleme de mime type (la, il faut un hack d'attachment_fu + mimetype_fu) Donc c'est une solution tres pratique, mais pas super evidente a mettre en place. Enfin, l'article a l'air bien: dommage qu'il ne soit pas sorti un peu plus tot, ca m'aurait aide... Cyrille