node.js и паспорт. js, проблема с загрузкой изображения в паспортный реестр - PullRequest
0 голосов
/ 01 мая 2020

var LocalStrategy = require("passport-local").Strategy;

var mysql = require('mysql');
var bcrypt = require('bcrypt-nodejs');
var dbconfig = require('./database');
var connection = mysql.createConnection(dbconfig.connection);

connection.query('USE ' + dbconfig.database);

module.exports = function(passport) {
 passport.serializeUser(function(user, done){
  done(null, user.id);
 });

 passport.deserializeUser(function(id, done){
  connection.query("SELECT * FROM users WHERE id = ? ", [id],
   function(err, rows){
    done(err, rows[0]);
   });
 });

 passport.use(
  'local-signup',
  new LocalStrategy({
   usernameField : 'username',
   passwordField: 'password',
   passReqToCallback: true
  },
  function  (req, username, password, done){
    
   connection.query("SELECT * FROM users WHERE username = ? ", 
   [username], function(err, rows){
    if(err)
     return done(err);
    if(rows.length){
     return done(null, false, req.flash('signupMessage', 'That is already taken'));
    }else{
      
    

      
    
     var newUserMysql = {
       email: req.body.email,
       fullname: req.body.fullname,
       data: req.body.data,
       sexo: req.body.sexo,
      username: username,
      password: bcrypt.hashSync(password, null, null),
      
     };
     let sampleFile = req.files.images;
     var file_name = uni+'_'+req.files.images.name.replace(/ /g,"_");
     sampleFile.mv('public/imgcoment/'+file_name,function(res){
         console.log(res,'test');
        }); 

     var insertQuery = "INSERT INTO users (username, password, email, fullname, data, sexo, imagem) values (?, ?, ?, ?, ?, ?, ?)";

     connection.query(insertQuery, [newUserMysql.username, newUserMysql.password, newUserMysql.email, newUserMysql.fullname, newUserMysql.data, newUserMysql.sexo, file_name],
      function(err, rows){
       newUserMysql.id = rows.insertId;

       return done(null, newUserMysql);
      });
    }
   });
  })
 );
  <div class="form-group">
      <label for="file" class="form__label">Imagem de Perfil</label>
      <input type="file"   class="form-control-file" id="files" name="images"  accept="image/x-png,image/gif,image/jpeg" />
      </div>
У меня возникла проблема с загрузкой изображения с помощью регистрационной формы паспорта, все остальные данные загружаются правильно, при попытке загрузить изображение я получаю сообщение об ошибке: "throw err; // Rethrow non- MySQL errors ^

TypeError: Невозможно прочитать свойство 'images' of undefined ", может кто-нибудь помочь найти проблему? спасибо всем

...