Загрузить несколько файлов с помощью Flask

Сократите HTML в Flask с помощью Flask-Minify Изучение

В онлайн-приложениях загрузка файлов — обычная задача. Простые HTML-формы с шифрованием, настроенным на информацию о составных частях/формах, — это все, что требуется для публикации файла по URL-адресу при использовании Flask для загрузки файла. Файл получается из объекта запроса скриптом фляги на стороне сервера с использованием запроса. В этой статье мы рассмотрим, как загрузить несколько файлов с помощью Python. Это позволяет пользователю выбрать несколько файлов одновременно и загрузить все файлы на сервер. Прежде чем продолжить, установите Flask, написав в терминале команду:

pip install flask

Поэтапная реализация

Шаг 1: Создайте новую папку проекта Upload. Внутри этой папки создайте main.py и создайте папки templates.

Шаг 2: Создайте простую HTML-страницу index.html, чтобы выбрать несколько файлов и отправить их для загрузки файлов на сервер. Здесь файл HTML содержит форму для выбора и загрузки файлов методом POST. Атрибут enctype играет здесь важную роль. Он указывает, как данные формы должны быть закодированы при отправке на сервер. мы загружаем файлы, поэтому мы должны установить значение атрибута в multipart/form-data.

HTML

<html>
<head>
    <title>Upload Multiple files : GFG</title>
</head>
<body>
    <form action = "/upload" method="POST" enctype="multipart/form-data">
        <input type="file" name="file" multiple />
        <input type = "submit" value="Upload">
    </form>
</body>
</html>

Шаг 3: Теперь внутри main.py. Здесь собирается список файловых объектов, а затем мы будем сохранять загруженные файлы один за другим в корневую директорию, используя цикл и функцию file.save().

Python3

from flask import *
app = Flask(__name__)
 
 
@app.route('/')
def main():
    return render_template("index.html")
 
 
@app.route('/upload', methods=['POST'])
def upload():
    if request.method == 'POST':
 
        # Get the list of files from webpage
        files = request.files.getlist("file")
 
        # Iterate for each file in the files List, and Save them
        for file in files:
            file.save(file.filename)
        return "<h1>Files Uploaded Successfully.!</h1>"
 
 
if __name__ == '__main__':
    app.run(debug=True)

Выход:

Читайте также:  Полное руководство по HTML-формам и проверке ограничений

Выполните следующую команду в Терминале

python main.py

ыполните следующую команду

Индексная страница

Выберите несколько файлов из папки.

Выбрать несколько изображений

Выбрать несколько изображений

После отправки появится сообщение об успешном завершении.

Файлы загружены

Файлы загружены

Здесь мы видим, что четыре изображения *.png загружены в корневой каталог проекта.

Здесь мы видим, что четыре изображения

Проверка

Оцените статью
bestprogrammer.ru
Добавить комментарий