Автор оригинала: Pankaj Kumar.
Добро пожаловать в этот учебник! Здесь мы узнаем, как загружать файлы в колбу с помощью HTML-форм. Отлично, мои коллеги-программисты, давайте начнем!
Как загрузить файлы с помощью Python Flask?
Загрузка файлов в колбу-это простая задача. Схема потока выглядит следующим образом:
- HTML – форма для отображения интерфейса загрузки файлов
- Сохранение загруженного файла с помощью представления колбы
И это все. Это все, что нам здесь нужно.
1. HTML-формы для загрузки файлов
Для обработки загрузки файлов нам нужно добавить enctype в атрибут формы HTML-шаблона.
Пример HTML-формы выглядит следующим образом:
2. Сохранение файла
В Flask загруженный файл сначала сохраняется во временном расположении на сервере, а затем окончательно сохраняется в месте назначения.
Мы можем указать местоположение назначения и максимальный размер файла в настройках конфигурации Flask:
app.config[‘UPLOAD_FOLDER’] | Укажите папку назначения |
app.config[‘MAX_CONTENT-ПУТЬ’] | Указывает максимальный размер файла в байтах |
Мы можем сохранить имя файла назначения либо путем его прямого жесткого кодирования, либо с помощью функции filename .
f = request.files['file'] f.save(f.filename)
Всегда рекомендуется использовать защищенную версию загруженного файла с помощью функции secure_filename .
f = request.files['file'] f.save(secure_filename(f.filename))
Кодирование формы загрузки файла колбы
После изложения теории давайте сразу перейдем к теме и поймем точные шаги, которые нам понадобятся для выполнения задачи загрузки файлов с помощью Flask.
1. Шаблон формы
Создайте простую HTML-форму ” form.html ” файл со следующим кодом:
Эта простая форма просто принимает файлы, отправленные пользователями. Пожалуйста, ознакомьтесь с нашей статьей О формах колб для получения дополнительной информации о формах колб
2. Кодирование функции просмотра колбы
Теперь добавьте следующий код в приложение Flask
from flask import Flask,render_template,request from werkzeug import secure_filename @app.route('/form') def form(): return render_template('form.html') @app.route('/upload', methods = ['POST', 'GET']) def upload(): if request.method == 'POST': f = request.files['file'] f.save(secure_filename(f.filename)) return "File saved successfully" app.run(host='localhost', port=5000)
Здесь,
- Вид формы отображает форму.
- После отправки формы данные формы (загруженный файл) отправляются в представление Upload (как часть объекта запроса) с помощью метода POST .
- Представление Upload затем временно сохраняет файл в переменной f , прежде чем окончательно сохранить его с помощью атрибута f.save () .
Пожалуйста, ознакомьтесь с нашей статьей о формах колбы, чтобы узнать больше о формах в колбе.
3. Реализация Кодекса
Запустите сервер и давайте проверим его
Выберите файл и нажмите отправить
Вот и все, файл успешно сохранен. Теперь в вашей папке вы сможете увидеть загруженный файл рядом с файлом приложения Flask.
Вуаля! Ваш файл был успешно загружен.
Вывод
Вот и все для этого урока, ребята! Попробуйте сами примеры, приведенные выше, для лучшего понимания.
Увидимся в следующей статье! До тех пор счастливого кодирования 🙂