CouchDB-app problème uploading

CouchDB-app problème uploading - HTML/CSS - Programmation

Marsh Posté le 18-06-2011 à 17:55:58    

Bonjour,
 
Voilà plusieurs jour que je désespère à résoudre un problème concernant l'uploading de fichier sur CouchDB.
 
J'utilise Couchapp pour pousser mon site web qui se révèle très simple :
 
On renseigne le nom et la description d'un document puis on lui attache un fichier.
 
dans mon index.html mon formulaire est le suivant :
 

Code :
  1. <form id="recipe-upload" enctype="multipart/form-data" action="" method="post">
  2.             Titre :<br><input type="text" size="77" name="title"/><br>
  3.             Message :<br><textarea rows="5" cols="100" name="message"></textarea><br>
  4.             Parcourir : <input type="file" name="_attachments">
  5.             <input type="hidden" name="_rev" value="">
  6.             <button name = "cmdCreatePost" type="submit" >Sauvegarder</button>
  7.         </form>


 
 
ensuite lors de l'envoie du formulaire je déclenche le script js suivant :
 

Code :
  1. $("#recipe-upload" ).submit(function(event) {
  2.                 var title_post, message_post, date_post, post, file_post;
  3.  event.preventDefault();// desactive les forms par default pour que AjaxSubmit puisse être utilisé
  4.                 title_post = $('input[name="title"]').val();
  5.                 message_post = $('textarea[name="message"]').val();
  6.                 date_post = (new Date()).toLocaleString();
  7.                 file_post = $('input[name="_attachments"]').val();
  8.                   if (!file_post || file_post.length == 0) {
  9.      alert("le fichier est vide ou pas de fichier selectionné." );
  10.      return;
  11.    }
  12.                 myStore.getDoc('counter',function(result){// le document counter nous sert à paginer les resultats
  13.                     var counter;
  14.                     if (result) {
  15.                         counter = result;
  16.                         counter.value += 1;
  17.                         console.log("valeur du compteur : ", counter);
  18.                     } else {
  19.                         counter = {_id:'counter',value:0};// s'il n'y a pas de compteur on le crée
  20.                         console.log("Création du compteur ..." )
  21.                     }
  22.                     myStore.saveDoc(counter, function(){
  23.   var form =this;
  24.   var dbname = "novapost_db";
  25.                         post = {
  26.                             title : title_post,
  27.                             messages : message_post,
  28.                             date : date_post,
  29.                             orderNumber : counter.value,
  30.                             attachments : file_post
  31.                            
  32.                         };
  33.                        
  34.                         myStore.saveDoc(post, function(result){
  35.                            
  36.                             $('input[name="_rev"]').val(post._rev);
  37.                             var _attachments = $('input[name="_attachments"]').val();
  38.                             if (_attachments) {
  39.                             $('textarea[name="message"]').val("Uploading file..." );
  40.                             $(form).ajaxSubmit({//Attention necessaire car le code rev n'existe pas encore
  41.                             url : "/"+dbname+"/"+$.couch.encodeDocId(post._id),
  42.                            
  43.                             success : function(){
  44.                             var test ="/"+dbname+"/"+$.couch.encodeDocId(post._id);
  45.                             var test3=post._rev;
  46.                             var test2 = $('input[name="_rev"]').val(post._rev);
  47.     $('textarea[name="message"]').val(test);
  48.     $('input[name="title"]').val(test3);
  49.     $('input[name="date"]').val("" );
  50.                              },
  51.                            error:function(){ throw ("Problème bug fonction ajax " ); }
  52.                          
  53.                             });                       
  54.                             }
  55.                             else {
  56.                             $('textarea[name="message"]').val("Epic fail..." );
  57.                             alert("no attachments" );
  58.                             }
  59.                         });
  60.                     });
  61.                 });
  62.             });


 
 
 
Mais voilà le script ne crée aucune erreur (firebug ne remarque rien) mais le fichier n'est pas uploadé, j'ai juste droit à la description du fichier dans futon la SGBD de CouchDB
 
j'ai suivi ces tutoriels :
YouTube        - &#x202a;CouchApp Evently Guided Hack with CouchDB&#x202c;&rlm; ( à 44min).
 
 
Je pense que cela vient de la fonction ajaxSubmit() mais j'ai bien verifié la fonction réalise bien un "success".
 
 
Merci d'avance de votre aide. ;)

Reply

Marsh Posté le 18-06-2011 à 17:55:58   

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed