Я новичок в WSGI на python; но есть сервер Windows, на котором установлен isapi_wsgi. У меня также есть скрипт, который обрабатывает мои запросы GET и работает отлично. Дело в том, что кто-то отправляет мне запрос, и мне нужно вернуть zip-файл запрашивающему. Следующий код в моем обработчике GET и он работает, но не похоже на правильный путь, чтобы вернуть ZipFile:Возврат файла в запрос WSGI GET
# open zip file return it
fin = open(zOutFilename, "rb")
start_response("200 OK", [('Content-Type', 'application/zip')])
return fin.read()
Дело в том, что вы возвращающую «поток» - это значит, вы теряете имя файла (браузер просто называет это имя запроса GET), и это кажется ужасно медленным.
Есть ли лучший способ вернуть файл для загрузки с помощью wsgi, затем этот метод?
Заранее спасибо
Да, да, это то, что я искал. Это фиксированная моя проблема:
плавник = открыт (zOutFilename, "Р.Б.") размер = os.path.getsize (zOutFilename) start_response ("200 OK", [('Content-Type', 'приложение/почтовый индекс'), ('Content-length', str (size)), ('Content-Disposition', 'attachment; filename =' + finalModelName + '. Zip')]) # вернуть весь файл if 'wsgi.file_wrapper 'in environ: return environ [' wsgi.file_wrapper '] (fin, 1024) else: return iter (lambda: fin.read (1024),' ')
– madigan