2012-11-13 3 views
0

j'utilise uploadify avec express.js pour télécharger la vidéo sur le serveur de noeud, cela fonctionne très bien, mais après avoir généré la vidéo miniature je dois retourner le chemin des vignettes, voici ce que j'ai faittélécharger ne peut pas obtenir le serveur respones données

exports.upload = function(req, res,next){ 
    var tmp_path = req.files.product_video.path; 
    var target_path = 'F:/shopping/shop/' +req.body.shop_id+'/'+ req.files.product_video.name; 

    fs.rename(tmp_path, target_path, function(err) { 
     if (err) { 
      console.log(err) 
     } 
     else{ 
      fs.unlink(tmp_path, function() { 
       if (err){ 
        console.log(err) 
       }else{ 
        exec("C:/ffmpeg/bin/ffmpeg -i shop/"+ req.body.shop_id+ '/' + req.files.product_video.name + " -ss 00:01:00.00 -r 1 -an -vframes 1 -s 250x150 -f mjpeg shop/"+ req.body.shop_id+ '/' + req.files.product_video.name + "_thumbnail.jpg", function(err){ 
         // res.send({'thumb' : 'shop/'+ req.body.shop_id+ '/' + req.files.product_video.name + "_thumbnail.jpg",}); 
         var data = { 
          'thum_src':'shop/'+ req.body.shop_id+ '/' + req.files.product_video.name + "_thumbnail.jpg" 
         } 
         res.send(data); 
        }); 
       } 
      }); 
     } 

    }); 

};

ici est le code frontend

function addVideo(){ 
    $('#input_product_video').uploadify({ 
     'formData':{'shop_id':$('#shop_id').val()}, 
     'buttonText' : 'add video', 
     'fileSizeLimit' : '100MB', 
     'fileObjName' : 'product_video', 
     'uploader' : '/uploads', 
     'swf'   :'/public/javascripts/lib/uploadify/uploadify.swf', 
     'onUploadSuccess':function(file,data){ 
      console.log(data.thum_src); 

     } 
    }); 
} 

le

console.log(data.thum_src); // always end of "undefined" 

mais

console.log(data) ; //will output the json data like this 
             { 
              'thum_src':'path' 
              } 

i dont get it ??? pourquoi je ne peux pas accéder à thum_src comme data.thum_src ???

bien il semble que ce ne est pas un objet mais une chaîne, bizarre

Répondre

0

votre réponse dans le code du serveur besoin d'ajouter en-tête {Content-Type: application/JSON '} ou bien la valeur par défaut est d'interpréter comme texte. ou vous pouvez faire JSON.parse (données) pour convertir le texte en objet json à l'extrémité frontale.

+0

mais le document express indique Quand un tableau ou un objet est donné Express répondra avec la représentation JSON: – paynestrike

+0

suffit de vérifier l'en-tête de réponse. BTW quel navigateur, version du navigateur, version express. – wayne

Questions connexes