Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 使用angular.js和node.js从表单上传照片和其他信息_Javascript_Angularjs_Node.js_Ng File Upload - Fatal编程技术网

Javascript 使用angular.js和node.js从表单上传照片和其他信息

Javascript 使用angular.js和node.js从表单上传照片和其他信息,javascript,angularjs,node.js,ng-file-upload,Javascript,Angularjs,Node.js,Ng File Upload,需要使用node.js、express和angular(前端)上传照片并将其保存到本地文件夹的帮助。表单完成后,将新用户信息保存到mongoose工作正常。需要添加照片上传部分。 注意:我已经阅读了所有的教程,但我似乎无法将它们与我已经构建的内容集成或使用。请帮忙 我的项目结构如下所示- 注册表的控制器文件(node.js后端)(api/controllers/user.controller.js) module.exports.register = function(req, res){

需要使用node.js、express和angular(前端)上传照片并将其保存到本地文件夹的帮助。表单完成后,将新用户信息保存到mongoose工作正常。需要添加照片上传部分。 注意:我已经阅读了所有的教程,但我似乎无法将它们与我已经构建的内容集成或使用。请帮忙

我的项目结构如下所示-

注册表的控制器文件(node.js后端)(api/controllers/user.controller.js)

module.exports.register = function(req, res){

  // Create new user 
  console.log("Registering Users");
  var email = req.body.email;
  var fname = req.body.fname;
  var lname = req.body.lname;
  var password = req.body.password;

  User.create({
      email: email,
      fname: fname,
      lname: lname,
      password: bcrypt.hashSync(password, bcrypt.genSaltSync(10))
    }, function(err, user){
      if(err){
        console.log(err);
        res.status(400).json(err);
      } else {
        console.log("User created", user);
        res.status(201).json(user);
      }
    }
  );
};
var express = require('express');
var router = express.Router();

var ctrlUsers = require('../controllers/users.controller.js');

router
  .route('/register')
  .post(ctrlUsers.register);

module.exports = router;
angular.module('login').controller('RegisterController', RegisterController);

function RegisterController($http){
  var vm = this;

  vm.register = function(){
    var user = {
      email: vm.email,
      fname: vm.fname,
      lname: vm.lname,
      password: vm.password
    };

    if(!vm.email || !vm.password){
      vm.error = 'Please enter an email and password.';
    } else {
      if(vm.password !== vm.passwordRepeat){
        vm.error = 'Please enter matching passwords.';
      } else {
        console.log(user);
        $http.post('/api/register', user).then(function(result){
          console.log(result);
          console.log(user);
          vm.message = 'Successful login! Hello,' + ' ' + vm.fname + ' ' + vm.lname + '.';
          vm.error= '';
        }).catch(function(error){
          console.log(error);
        });
      }
    }
  }
};
index.js文件(node.js后端路由)(api/routes/index.js)

module.exports.register = function(req, res){

  // Create new user 
  console.log("Registering Users");
  var email = req.body.email;
  var fname = req.body.fname;
  var lname = req.body.lname;
  var password = req.body.password;

  User.create({
      email: email,
      fname: fname,
      lname: lname,
      password: bcrypt.hashSync(password, bcrypt.genSaltSync(10))
    }, function(err, user){
      if(err){
        console.log(err);
        res.status(400).json(err);
      } else {
        console.log("User created", user);
        res.status(201).json(user);
      }
    }
  );
};
var express = require('express');
var router = express.Router();

var ctrlUsers = require('../controllers/users.controller.js');

router
  .route('/register')
  .post(ctrlUsers.register);

module.exports = router;
angular.module('login').controller('RegisterController', RegisterController);

function RegisterController($http){
  var vm = this;

  vm.register = function(){
    var user = {
      email: vm.email,
      fname: vm.fname,
      lname: vm.lname,
      password: vm.password
    };

    if(!vm.email || !vm.password){
      vm.error = 'Please enter an email and password.';
    } else {
      if(vm.password !== vm.passwordRepeat){
        vm.error = 'Please enter matching passwords.';
      } else {
        console.log(user);
        $http.post('/api/register', user).then(function(result){
          console.log(result);
          console.log(user);
          vm.message = 'Successful login! Hello,' + ' ' + vm.fname + ' ' + vm.lname + '.';
          vm.error= '';
        }).catch(function(error){
          console.log(error);
        });
      }
    }
  }
};
app.js文件(angular.js前端)(public/angular-app/app.js)

注册表的控制器文件(angular.js前端)(public/angular-app/register/register.controller.js)--

module.exports.register = function(req, res){

  // Create new user 
  console.log("Registering Users");
  var email = req.body.email;
  var fname = req.body.fname;
  var lname = req.body.lname;
  var password = req.body.password;

  User.create({
      email: email,
      fname: fname,
      lname: lname,
      password: bcrypt.hashSync(password, bcrypt.genSaltSync(10))
    }, function(err, user){
      if(err){
        console.log(err);
        res.status(400).json(err);
      } else {
        console.log("User created", user);
        res.status(201).json(user);
      }
    }
  );
};
var express = require('express');
var router = express.Router();

var ctrlUsers = require('../controllers/users.controller.js');

router
  .route('/register')
  .post(ctrlUsers.register);

module.exports = router;
angular.module('login').controller('RegisterController', RegisterController);

function RegisterController($http){
  var vm = this;

  vm.register = function(){
    var user = {
      email: vm.email,
      fname: vm.fname,
      lname: vm.lname,
      password: vm.password
    };

    if(!vm.email || !vm.password){
      vm.error = 'Please enter an email and password.';
    } else {
      if(vm.password !== vm.passwordRepeat){
        vm.error = 'Please enter matching passwords.';
      } else {
        console.log(user);
        $http.post('/api/register', user).then(function(result){
          console.log(result);
          console.log(user);
          vm.message = 'Successful login! Hello,' + ' ' + vm.fname + ' ' + vm.lname + '.';
          vm.error= '';
        }).catch(function(error){
          console.log(error);
        });
      }
    }
  }
};
注册表HTML文件-(public/angular app/Registration/Registration.HTML)

欢迎!
{{vm.message}}

{{vm.error}}

电子邮件 …其他一些领域。。。 上传照片 提交
使用FormData:

var formData = new FormData()
formData.append("profilePicture",vm.profilePicture);
formData.append("email",vm.email);
formData.append("fname",vm.fname);
formData.append("lname",vm.lname);
formData.append("password",vm.password);

 $http.post('/api/register', formData).then(function(result){
          console.log(result);
          console.log(user);
          vm.message = 'Successful login! Hello,' + ' ' + vm.fname + ' ' + vm.lname +'.';
          vm.error= '';
        }).catch(function(error){
          console.log(error);
        });

使用formData上载