success

Python flask загрузка файлов на сервер – пример

Загрузка файлов — это процесс передачи двоичных или обычных файлов на сервер, Flask позволяет нам легко загружать их. Все, что нам нужно, это иметь HTML-форму с шифрованием, установленным на multipart/form-data.

Сценарий flask на стороне сервера извлекает файл из объекта запроса, используя объект request.files[]. После успешной загрузки файл сохраняется в нужном месте на сервере.

Загруженный файл сохраняется во временном каталоге сервера на некоторое время, прежде чем он будет сохранен в нужном месте. Имя целевого файла можно получить, используя следующий синтаксис.

name = request.files['file'].filename

Однако мы можем указать путь к папке, в которую файл должен быть загружен на сервере, и максимальный размер загружаемого файла. Все это можно сделать в настройках конфигурации объекта flask.

Синтаксис Описание
1 app.config[‘UPLOAD_FOLDER’] Он используется для упоминания папки загрузки.
2 app.config[‘MAX_CONTENT-PATH’] Он используется для указания максимального размера загружаемого файла.

Рассмотрим следующий пример загрузки файла из локальной файловой системы на сервер.

Пример

В этом примере мы предоставим пользователю селектор файлов (file_upload_form.html), где пользователь может выбрать файл из файловой системы и отправить его на сервер.

Файл извлекается с помощью объекта request.files[‘file’] и сохраняется на сервере.

Поскольку мы используем сервер разработки на том же устройстве, файл будет загружен в каталог, из которого выполняется flask скрипт upload.py.

from flask import * app = Flask(__name__) @app.route('/') def upload(): return render_template("file_upload_form.html") @app.route('/success', methods = ['POST']) def success(): if request.method == 'POST': f = request.files['file'] f.save(f.filename) return render_template("success.html", name = f.filename) if __name__ == '__main__': app.run(debug = True)
    

File uploaded successfully

File Name: >

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

Читайте также:  Java heap physical memory

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

Здесь пользователь выбрал файл с именем galexy.jpg, который будет загружен на сервер.

Загрузка файла с именем galexy.jpg

Приведенный ниже снимок создается для URL-адреса localhost:5000/success. При успешной загрузке файла пользователю отображается сообщение об успешном выполнении с именем загруженного файла.

Сообщение об успешном выполнении

Мы можем подтвердить это, зайдя в каталог, где находится upload.py, как показано на изображении ниже.

Источник

Оцените статью