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
Post a Comment