【问题标题】:How to save pdf file in mysql with node.js?如何使用node.js将pdf文件保存在mysql中?
【发布时间】:2014-09-23 16:38:12
【问题描述】:

我正在使用 node.js 和 mysql,我想保存从 url 下载的 pdf 文件并将其保存在数据库中。 我在这里写了我的代码。

exports.pdf = function(req, response) {    
  var url ="http://www.ieee.org/documents/ieeecopyrightform.pdf";
  http.get(url, function(res) {
   console.log("sss");
   var chunks = [];
   res.on('data', function(chunk) {
    console.log('start');
    chunks.push(chunk);
   });
  res.on("end", function() {
    console.log('downloaded');
    var jsfile = new Buffer.concat(chunks);
    console.log('converted to base64');
    response.header("Access-Control-Allow-Origin", "*");
    response.header("Access-Control-Allow-Headers", "X-Requested-With");
    response.header('content-type', 'application/pdf');
  });
  }).on("error", function() {
  console.log("error");
  }); 
}

【问题讨论】:

  • 你试过什么?你如何连接到MySQL?您尚未包含任何数据库代码。

标签: javascript mysql node.js pdf


【解决方案1】:

mysql/mysql2 模块支持 Blob/二进制列类型,因此对于这些模块,您只需将 Buffer 实例作为列值传递。例如:

// ...
// no need for `new` with `Buffer.concat()`
var jsfile = Buffer.concat(chunks);
var query = 'INSERT INTO `files` SET ?',
    values = {
      type: 'pdf',
      data: jsfile
    };
mysql.query(query, values, function(err) {
  if (err) throw err; // TODO: improve
  // do something after successful insertion
});

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-10-18
    • 2012-12-31
    • 2013-09-20
    • 1970-01-01
    • 2019-12-18
    • 1970-01-01
    相关资源
    最近更新 更多