0

URLから画像を読み取ってmongo dbに保存したい.基本的に文字列値を読み取って上記の手順を実行しました.しかし、画像を読み取る方法がわかりません.それに関するアイデアは本当に役に立ちます.

4

1 に答える 1

6

ノード 0.8.8 およびmongojsでテスト済み。

var http = require("http");
var mjs = require("mongojs");

// url of the image to save to mongo
var image_url = "http://i.imgur.com/5ToTZky.jpg";

var save_to_db = function(type, image) {

   // connect to database and use the "test" collection
   var db = mjs.connect("mongodb://localhost:27017/database", ["test"]);

   // insert object into collection 
   db.test.insert({ type: type, image: image }, function() {
      db.close();
   });

};

http.get(image_url, function(res) {

   var buffers = [];
   var length = 0;

   res.on("data", function(chunk) {

      // store each block of data
      length += chunk.length;
      buffers.push(chunk);

   });

   res.on("end", function() {

      // combine the binary data into single buffer
      var image = Buffer.concat(buffers);

      // determine the type of the image
      // with image/jpeg being the default
      var type = 'image/jpeg';
      if (res.headers['content-type'] !== undefined)
         type = res.headers['content-type'];

      save_to_db(type, image);

   });

});
于 2013-02-28T09:11:15.897 に答える