Hammad Ali:
Quiero insertar datos BLOB en MariaDB usando js nodo, estoy usando HeidiSQL para interactuar con MariaDB. tabla 'usuarios' tiene dos atributos 'user_email' y 'profile_photo'.
pregunta similar
He encontrado la siguiente pregunta similar, pero no su trabajo en mi caso
Aquí está mi código:
const inputfile = "C:\\Users\\Hammad Ali\\Desktop\\bloob\\routes\\CNN.jpg";
var email = "[email protected]",
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;
}
Error
DanielSchroederDev:
Prueba esto:
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);
});
Los ejemplos en los documentos MariaDB todas las matrices de uso, por lo que cambiaron values
a una matriz para que coincida con lo que he visto aquí y aquí .