在某个GET
请求中,我需要根据请求中的参数在本地读取文件,并根据请求的输入流发送它。我该怎么做?发送Tornado中的二进制文件
class GetArchives(tornado.web.RequestHandler):
def get(self, param1, param2):
path = calculate_path(param1, param2)
try:
f = open(path, 'rb')
# TODO: send this file to request's input stream.
except IOError:
raise tornado.web.HTTPError(404, 'Invalid archive')
谢谢你的回答。你说这不是用于大文件。有什么特别的原因? – missingfaktor
我将要处理的文件大小最多为50 MB。 – missingfaktor
@missingfaktor:它一次读取整个文件,这将大大增加内存使用量。 – nneonneo