Обработка загрузки файлов в Flask очень проста. Ему нужна HTML-форма с атрибутом enctype, установленным в ‘multipart / form-data’, для размещения файла по URL-адресу. Обработчик URL извлекает файл из объекта request.files [] и сохраняет его в нужном месте.
Каждый загруженный файл сначала сохраняется во временном местоположении на сервере, а затем фактически сохраняется в его окончательном месте. Имя файла назначения может быть жестко запрограммировано или может быть получено из свойства filename объекта request.files [file] . Тем не менее, рекомендуется получить защищенную версию, используя функцию secure_filename () .
В настройках конфигурации объекта Flask можно указать путь к папке загрузки по умолчанию и максимальный размер загружаемого файла.
app.config [ ‘UPLOAD_FOLDER’] | Определяет путь для папки загрузки |
app.config [ ‘MAX_CONTENT_PATH’] | Определяет максимальный размер файла для загрузки — в байтах |
В следующем коде есть правило URL «/ upload», которое отображает «upload.html» из папки шаблонов, и правило URL «/ upload-file», которое вызывает функцию uploader (), обрабатывающую процесс загрузки.
«upload.html» имеет кнопку выбора файла и кнопку отправки.
<html> <body> <form action = "http://localhost:5000/uploader" method = "POST" enctype = "multipart/form-data"> <input type = "file" name = "file" /> <input type = "submit"/> </form> </body> </html>
Вы увидите экран, как показано ниже.
Нажмите Отправить после выбора файла. Метод post формы вызывает URL «/ upload_file» . Основная функция uploader () выполняет операцию сохранения.
Ниже приведен код Python приложения Flask.