Учебники

Flask — загрузка файлов

Обработка загрузки файлов в 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>

Вы увидите экран, как показано ниже.

Загрузка файлов Flask

Нажмите Отправить после выбора файла. Метод post формы вызывает URL «/ upload_file» . Основная функция uploader () выполняет операцию сохранения.

Ниже приведен код Python приложения Flask.