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

Атрибут filename

Атрибут filename принадлежит классу FileStorage и содержит исходное имя файла, которое было передано клиентом при загрузке. Атрибут доступен только для чтения и возвращает строку. Если имя файла не было передано, атрибут вернёт None. Значение filename не является безопасным путём и не должно использоваться напрямую для сохранения файла на диск.

Синтаксис

file_storage.filename

Пример

Давайте выведем имя загруженного файла в ответ на запрос. Создадим форму и обработчик:

from flask import Flask, request app = Flask(__name__) @app.route('/upload', methods=['GET', 'POST']) def upload(): if request.method == 'POST': file = request.files['file'] return file.filename return ''' <form method="post" enctype="multipart/form-data"> <input type="file" name="file"> <input type="submit"> </form> '''

После загрузки файла с именем article.txt результат выполнения кода будет:

article.txt

Пример

Давайте используем атрибут filename для безопасного сохранения файла через функцию secure_filename:

from flask import Flask, request from werkzeug.utils import secure_filename import os app = Flask(__name__) @app.route('/upload', methods=['POST']) def upload(): file = request.files['file'] name = secure_filename(file.filename) file.save(os.path.join('uploads', name)) return name

При загрузке файла с именем user report.pdf результат выполнения кода будет:

user_report.pdf

Пример

Давайте проверим, что имя файла не пустое, перед сохранением:

from flask import Flask, request app = Flask(__name__) @app.route('/upload', methods=['POST']) def upload(): file = request.files['file'] if file.filename == '': return 'no file selected' return file.filename

Если файл не был выбран, результат выполнения кода будет:

"no file selected"

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

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