我需要在NodeJS和MySQL中插入Blob数据类型,需要一些帮助。
这是我正在使用的代码片段:
fs.open(temp_path, 'r', function (status, fd) {
if (status) {
console.log(status.message);
return;
}
var buffer = new Buffer(getFilesizeInBytes(temp_path));
fs.read(fd, buffer, 0, 100, 0, function (err, num) {
var query ="INSERT INTO `files` (`file_type`, `file_size`, `file`) VALUES ('img', " + getFilesizeInBytes(temp_path) + ",'" + buffer + "' );";
mySQLconnection.query(query, function (er, da) {
if (er)throw er;
});
});
});
查询将文件插入表中,我得到了正确的文件大小,但是当我尝试检索文件并打开它(例如一个PDF文件),我会收到一个消息,说文件已损坏。
我肯定在从文件中读取缓冲区时出了问题。