In einer bestimmten GET
Anfrage muss ich eine Datei lokal lesen, abhängig von den Parametern in der Anfrage, und senden Sie es auf Anfrage Eingangsstrom. Wie mache ich es?Senden einer Binärdatei in 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')
Vielen Dank für Ihre Antwort. Sie sagen, dass dies nicht für große Dateien verwendet werden soll. Ein besonderer Grund dafür? – missingfaktor
Die Dateien, mit denen ich zu tun haben werde, sind höchstens 50 MB groß. – missingfaktor
@missingfaktor: Es liest die ganze Datei auf einmal, was die Speichernutzung erheblich erhöht. – nneonneo