Express.jsでuploadifyを使用してビデオをノードサーバーにアップロードしましたが、正常に動作しますが、ビデオのサムネイルを生成した後、サムネイルのパスを返す必要があります。
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);
});
}
});
}
});
};
ここにフロントエンドコードがあります
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);
}
});
}
の
console.log(data.thum_src); // always end of "undefined"
しかし
console.log(data) ; //will output the json data like this
{
'thum_src':'path'
}
理解できません ???data.thum_src のように thum_src にアクセスできないのはなぜですか ???
それはオブジェクトではなく文字列のように見えますが、奇妙です