asyncgridfs MongoDB GridFS 开发库开源项目

我要开发同款
匿名用户2014年05月05日
37阅读
开发技术Python
所属分类数据库相关、数据库驱动程序
授权协议MIT

作品详情

Tornado非阻塞的MongoDBGridFS开发库

示例代码:

import asyncmongoimport tornado.webfrom asyncgridfs import GridFSclass Handler(tornado.web.RequestHandler):    @property    def db(self):        if not hasattr(self, '_db'):            self._db = asyncmongo.Client(pool_id='mydb', host='127.0.0.1', port=27017, maxcached=10, maxconnections=50, dbname='test')        return self._db    @tornado.web.asynchronous    def get(self):        fid = self.get_argument('fid')        fs = GridFS(self.db)        fs.get(ObjectId(fid),callback=self._on_get)    @tornado.web.asynchronous    def post(self):        f = self.request.files['imgFile'][0]        content = f.pop('body')        content_type = f.pop('content_type')        filename = f.pop('filename')        fs = GridFS(self.db)        fs.put(content, contentType=content_type, filename=filename, callback=self._on_post)    def _on_get(self, fileobj):        self.set_header('Content-Type', fileobj['contentType'])        self.write(fileobj['data'])        self.finish()    def _on_put(self, _id):        self.write(str(_id))        self.finish()
查看全文
声明:本文仅代表作者观点,不代表本站立场。如果侵犯到您的合法权益,请联系我们删除侵权资源!如果遇到资源链接失效,请您通过评论或工单的方式通知管理员。未经允许,不得转载,本站所有资源文章禁止商业使用运营!
下载安装【程序员客栈】APP
实时对接需求、及时收发消息、丰富的开放项目需求、随时随地查看项目状态

评论