1

我有一个名为 '' 的文件,里面有随机数。有一个代码可以用这个文件发送 post 请求,但是作为一个流,而不是普通的 POST 文件:

with open('stream-file') as f:
   requests.post('http://localhost:8888/service', data=f)

现在,有一个龙卷风服务器正在运行,它捕捉到这篇文章并应该阅读它(有块,而不是全部在一起):

import tornado.ioloop
import tornado.web
import tornado.options

class ServiceHandler(tornado.web.RequestHandler):
    def post(self):
        # here code to read this streamed file byte by byte.
        pass

application = tornado.web.Application([
    (r"/service", ServiceHandler)
])

if __name__ == "__main__":
    application.listen(8888)
    tornado.ioloop.IOLoop.instance().start()

有人可以给我一个提示如何使用它吗?我找到了这个例子:https ://gist.github.com/nephics/1134964但它不起作用,我对@tornado.web.stream_body部分有问题。我得到:

 AttributeError: 'module' object has no attribute 'stream_body'

我的配置:

请求==1.2.3

龙卷风==3.1.1

4

1 回答 1

1

gist 指的stream_body是别人的 tornado 分叉,不是任何官方发布(如果你想尝试,可以安装 gist 评论中提到的提交)。目前(从 Tornado 3.1 开始)不支持流式上传到 Tornado 服务器。

于 2013-10-11T13:58:20.893 回答