3

BinData タイプの mongodb に画像を保存しています。

これでmongojsを使用してデータベースにクエリを実行できます。

db.images.findOne({

                   file_name: 'temp.jpg',
                  },

              function(err, data){

                console.log(data.image); // image buffer appears on the console
                res.writeHead(200, {'Content-Type': 'image/jpg'});
                res.end(data.image);

           });

これにより、「TypeError: 最初の引数は文字列またはバッファでなければなりません」が生成されます。

これはバッファまたはエンコーディングと関係があると確信しています。ブラウザに送信する前に、画像データに対して何をすべきかを説明してもらえますか?

4

1 に答える 1

0
  • 正しいコンテンツ タイプを設定する
  • 正しいコンテンツの長さを設定する

mongodb gridfs からファイルを提供する方法の短い例

.getFileFromGridFs(doc,function(err, buffer){
  if(err) return next(err)
  res.setHeader('content-type',doc.mimeType)
  res.setHeader('content-length',doc.size)
  buffer.pipe(res)
})
于 2012-09-02T14:23:57.883 に答える