Tente substituir:
var query ="INSERT INTO `files` (`file_type`, `file_size`, `file`) VALUES ('img', " + getFilesizeInBytes(temp_path) + ",'" + buffer + "' );";
mySQLconnection.query(query, function (er, da) {
com:
var query = "INSERT INTO `files` SET ?",
values = {
file_type: 'img',
file_size: buffer.length,
file: buffer
};
mySQLconnection.query(query, values, function (er, da) {
Você também pode querer alterar
file: buffer
para file: buffer.slice(0, 100)
já que você está lendo apenas os primeiros 100 bytes do arquivo. Se buffer.length > 100
então você pode acabar com um monte de bytes de lixo extras após os primeiros 100 bytes no buffer
.