Вставьте BLOB-данные в mariaDB, используя Node.js - PullRequest
0 голосов
/ 28 марта 2020

Я хочу вставить данные BLOB-объектов в mariaDB, используя node js, я использую Heidi SQL для взаимодействия с mariaDB. Таблица 'users' имеет два атрибута 'user_email' и 'profile_photo'.

Аналогичный вопрос

Я нашел следующий похожий вопрос, но он не работает в моем случае

NodeJS mySQL Вставка BLOB-объекта

Вот мой код:

const inputfile = "C:\\Users\\Hammad Ali\\Desktop\\bloob\\routes\\CNN.jpg";
var email = "xyz@gmail.com",
   photo = readImageFile(inputfile); 


   var query = "INSERT INTO `users` SET ?",
   values = {
     user_email: email,
     profile_photo: photo
   };
   pool.query(query, values,  function(err, res) {
  if (err) throw err;
  console.log("BLOB data inserted!"+res);
});
});

function readImageFile(file) {
  // read binary data from a file:
  const bitmap = fs.readFileSync(file);
  const buf = new Buffer.from(bitmap);
  return buf;
}

Ошибка

enter image description here

1 Ответ

1 голос
/ 28 марта 2020

Попробуйте:

var query = "INSERT INTO `users` (user_email, profile_photo) VALUES (?, ?)",

values = [
  email,
  photo,
];

pool.query(query, values, function(err, res) {
  if (err) throw err;
  console.log("BLOB data inserted!"+res);
});

Во всех примерах в документах MariaDB используются массивы, поэтому я изменил values на массив, чтобы он соответствовал тому, что я видел здесь и здесь .

...