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

Атрибут content_length

Атрибут content_length применяется к объекту загруженного файла класса FileUpload и содержит размер файла в байтах в виде целого числа. Значение берётся из HTTP-заголовка Content-Length, который передаётся вместе с частью составного запроса multipart/form-data.

Атрибут доступен только для чтения. Если по какой-то причине заголовок не был передан клиентом, значение атрибута будет равно None. Атрибут удобно использовать для проверки размера файла до его сохранения на диск.

Синтаксис

file.content_length

Пример

Давайте выведем размер загруженного файла:

from bottle import Bottle, request app = Bottle() @app.route('/upload', method='POST') def upload(): file = request.files.get('myfile') return 'Size: %d bytes' % file.content_length

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

<+html+> Size: 1024 bytes <-html+>

Пример

Давайте проверим, что файл не превышает допустимый размер, прежде чем сохранять его:

from bottle import Bottle, request app = Bottle() @app.route('/upload', method='POST') def upload(): file = request.files.get('myfile') if file.content_length > 1048576: return 'File is too large' file.save('/uploads/' + file.filename) return 'Uploaded'

Результат выполнения кода для файла в 1 КБ:

<+html+> "Uploaded" <-html+>

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

  • класс FileUpload,
    который представляет загруженный файл
  • атрибут filename,
    который хранит имя загруженного файла
  • атрибут content_type,
    который хранит MIME-тип загруженного файла
  • метод save,
    который сохраняет загруженный файл на диск
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить