我正在使用 node/request 模块下载图像,并且试图弄清楚如何使用 node/mssql 模块将该图像插入到 sql server 中的 varbinary 字段中。到目前为止,我已经尝试将强制转换放入插入语句中,将正文(缓冲区)转换为字符串,但都无济于事。我试图弄清楚如何在不使用存储过程的情况下做到这一点。
谢谢!
我正在使用 node/request 模块下载图像,并且试图弄清楚如何使用 node/mssql 模块将该图像插入到 sql server 中的 varbinary 字段中。到目前为止,我已经尝试将强制转换放入插入语句中,将正文(缓冲区)转换为字符串,但都无济于事。我试图弄清楚如何在不使用存储过程的情况下做到这一点。
谢谢!
我已经从磁盘读取了一个 .png 图像文件作为“二进制”,然后将其放入“二进制”缓冲区,然后能够使用准备好的语句将其插入 SQL Server DB:
fs.readFile(<path-to-file>, 'binary', function(err, fileData) {
var binBuff = new Buffer(fileData, 'binary');
var ps = new sql.PreparedStatement(<connection>);
ps.input('theImage', sql.VarBinary);
ps.prepare('INSERT INTO ImageTable (BinaryImage) VALUES (@theImage)', function (err) {
// check err
ps.execute({theImage: binBuff}, function(err, records) {
// check err
ps.unprepare(function(err) {
// check err
// If no error, it's been inserted!
});
});
});
});