РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
60 of 643 menu

Метод get_stream

Метод get_stream применяется к объекту запроса request и возвращает поток данных тела запроса в виде файлового объекта. Первым необязательным параметром передаётся cache - флаг, указывающий, нужно ли кэшировать поток. Вторым необязательным параметром передаётся limit - максимальное количество байт для чтения. Метод удобен, когда тело запроса большое и его не нужно загружать в память целиком.

Синтаксис

request.get_stream(cache=True, limit=None)

Пример

Давайте получим поток данных из POST-запроса и прочитаем его содержимое:

from flask import Flask, request app = Flask(__name__) @app.route('/upload', methods=['POST']) def upload(): stream = request.get_stream() res = stream.read() return res

Результат выполнения кода для тела запроса 'abcde':

abcde

Пример

Давайте ограничим количество читаемых байт с помощью параметра limit:

from flask import Flask, request app = Flask(__name__) @app.route('/upload', methods=['POST']) def upload(): stream = request.get_stream(limit=5) res = stream.read() return res

Результат выполнения кода для тела запроса 'abcdefghij':

abcde

Пример

Давайте отключим кэширование потока с помощью параметра cache:

from flask import Flask, request app = Flask(__name__) @app.route('/upload', methods=['POST']) def upload(): stream = request.get_stream(cache=False) res = stream.read() return res

Результат выполнения кода для тела запроса 'hello':

hello

Смотрите также

  • класс Request,
    который представляет входящий HTTP-запрос
  • метод get_data,
    который возвращает тело запроса как байты
  • атрибут stream,
    который хранит поток данных запроса
  • атрибут data,
    который содержит тело запроса в виде байтов
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить