Я работаю над веб-приложением в Python/Twisted.
Я хочу, чтобы пользователь мог загрузить очень большой файл ( > 100 Мб). Конечно, я не хочу загружать весь файл в память (на сервере).
серверная сторона У меня есть эта идея:
...
request.setHeader('Content-Type', 'text/plain')
fp = open(fileName, 'rb')
try:
r = None
while r != '':
r = fp.read(1024)
request.write(r)
finally:
fp.close()
request.finish()
Я ожидал, что это сработает, но у меня проблемы: Я тестирую FF... Кажется, браузер заставляет меня ждать, пока файл не будет загружен, а затем у меня появится диалоговое окно "Открыть/сохранить".
Я ожидал диалоговое окно сразу, а затем индикатор выполнения в действии...
Возможно, мне нужно добавить что-то в заголовок Http... Что-то вроде размера файла?