3

iOSクライアントが接続しているRESTHTTPAPIを開発しています。現在設定されている(そしてPOSTman chrome extでテストされている)方法は、リソースをリクエストすることです。すべてが読み込まれ、応答として表示されるまで吐き出すのを待つ必要があります。

これはiOSおよびMacクライアントの消費に適した方法ですか、それともGridFSから提供するためのより良い方法がありますか?

私は次のことをしています:

  // Download a PDF
  app.get('/api/download-pdf/:pdf_id', function(req, res){
    var gfs = new mongodb.GridStore(mongoose.connection.db, ObjectID(req.params.pdf_id), "r");
    gfs.open(function(err,gs) {
      if (err){
        res.send(500);
      } 
      else{
        gs.read(function(err,data) {
          res.header('Content-type','application/pdf');
          res.send(data);
          gs.close(function(err) {});
          if (err) throw(err);
        });
      }
    });
  });
4

1 に答える 1

4

ノードドライバーは、GridFSへの/からのストリーミングをサポートするようになりましたhttp://christiankvalheim.com/post/29753345741/new-features-in-the-driver-for-mongodb-2-2?8e43c3e0

gs.pipe(anotherStream)

ストリームを参照してください

于 2012-08-21T19:20:44.533 に答える