sql-server - 如何使用node-mssql将二进制数据插入sql server

标签 sql-server node.js node-request node-mssql

我正在使用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!
            });
        });
    });
});

关于sql-server - 如何使用node-mssql将二进制数据插入sql server,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34383938/

相关文章:

javascript - 使用 Request 在 Javascript 中发送表单数据数组?

sql - 唯一标识符 (GUID) 上的聚合函数

sql-server - 如何获取现有 sql 2005/2008 数据库的 dbschema 文件?

sql-server - 测试存储过程的最佳方法是什么?

javascript - 该函数不会在 JavaScript 的另一个函数中调用

javascript - AngularJS 可以在没有任何服务器端技术的情况下将文件保存/写入到服务器吗?

node.js - 为什么 npm 给出 500 和 503 错误 : "registry error parsing json"?

node.js - 关于 request(url).pipe() 的一些事情

mysql - 在压力下测试时,nodejs 运行时停止响应

sql-server - 如何在 Microsoft SQL Server 2014 中创建本地数据库?