angularjs - array length in node.js -


i have form object returned angular js node js looks in console,

for 2 files,

filenames : [object object],[object object] # filenames object 2 files length: 2 # used object.length 

for 1 file,

filenames : [object object] # filenames object 1 file length: undefined # used object.length 

i new node js, can please explain me why this?

edited

profilecontroller.js(client side)

var fd = new formdata() var filenames = $scope.posttextorimageparams.imageurl; for( var = 0; < filenames.length; i++ ) {      fd.append("imagedata",$scope.posttextorimageparams.imageurl[i]);   } 

user.js(server side)

var filenames = req.files.imagedata; console.log(typeof filenames);   //-> object console.log('filenames : '+filenames); console.log('length: '+filenames.length);     function uploader(i) {   if( < filenames.length ) {           utils.savemediapic(filenames[i],function(error,savedimagepath){       if( error ) {           console.log('error: '+error)        }       else {           console.log("saved image ====>"+savedimagepath);           post.content.imageurl.push(savedimagepath);            uploader(i+1)           }     }); } 

if in body have more 1 parameter same name bodyparser generate array. problem when have 1 perameter not so.

in order force so, can use bodyparser in extended version.

app.use(bodyparser.urlencoded({ extended: true })); 

and call parameter squared brackets imagedata[]

fd.append("imagedata[]",...  

as can find in documentation http://npmjs.com/package/qs#readme

this trigger extended parser return array.


Comments

Popular posts from this blog

How to connect android app to App engine -

gcc - MinGW's ld cannot perform PE operations on non PE output file -

php - display validation error message next to the textbox in codeigniter -