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

Простое руководство по загрузке файла с использованием Flask API и Python. . . ,

Почему это руководство?

Увидев, как многие люди пишут в блогах об учебнике «Flask для начинающих». Я заметил это, только в меньшем количестве блогов говорится о «загрузке файла Flask». Итак, я заинтересовался написанием о «Выгрузке файла Flask». Я уверен, что этот блог поможет вам создать загрузку файлов, которая упростит вам работу. . . ,

Ищете несколько файлов, загружаемых с помощью Flask?



Начните с загрузки нескольких файлов с помощью Flask
Flask для загрузки нескольких файлов medium.com



Почему именно Flask?

Точно так же, как люди путаются с тем, с какой версии Python начать, Django vs Flask - еще одна давняя дискуссия. Хотя люди говорят, что Flask прост и удобен в использовании, в то время как Django тяжел для создания веб-приложений, есть еще одна важная причина, по которой вы должны выбрать Flask вместо Django.

Мы, как разработчики в эпоху облачных вычислений, отходим от монолитных приложений. При наличии архитектуры микросервисов запуск нескольких серверов Django сделает ваши сервисы тяжелыми из-за наличия всех встроенных приложений, с которыми он поставляется.

Требования и установка

  1. Конечно, нам нужен Python 3.5 или выше. "Но почему?? видеть это"
  2. Установить Flask
pip install flask

Простое приложение Flask

Этот шаг предназначен для новичков. Если вы знакомы с основами Flask, пропустите его. . . ,

Простое приложение Flask для запуска. . ,

# app.py
from flask import Flask           # import flask
app = Flask(__name__)             # create an app instance

@app.route("/")                   # at the end point /
def hello():                      # call method hello
    return "Hello World!"         # which returns "hello world"
if __name__ == "__main__":               # on running python app.py
    app.run(host='127.0.0.1",port = 5000)   # run the flask app  

Запустите приложение, запустив «python app.py». Зайдите в браузер и введите «http: // localhost: 5000», вы увидите «Hello World!» программа жива.

Начало работы с загрузкой файла Flask

Загрузка файлов - это процесс передачи двоичных или обычных файлов на сервер. Flask упрощает загрузку файлов.

В этом случае мы собираемся загрузить один файл «PNG» и сохранить его в определенной папке.

Вы можете загрузить любой файл и сохранить его как хотите. . . ,

Также вы можете использовать это для передачи файлов из одной системы в другую. . . ,

Создайте файл с именем «singlefileupload.py».

  1. Импорт библиотек
import os      # For File Manipulations like get paths, rename
from flask import Flask, flash, request, redirect, render_template
from werkzeug.utils import secure_filename

2. Создайте экземпляр и отметьте расширение

app=Flask(__name__)

app.secret_key = "secret key" # for encrypting the session
#It will allow below 16MB contents only, you can change it
app.config['MAX_CONTENT_LENGTH'] = 16 * 1024 * 1024 
path = os.getcwd()
# file Upload
UPLOAD_FOLDER = os.path.join(path, 'uploads')

if not os.path.isdir(UPLOAD_FOLDER):
    os.mkdir(UPLOAD_FOLDER)

app.config['UPLOAD_FOLDER'] = UPLOAD_FOLDER
ALLOWED_EXTENSIONS = set(['txt', 'pdf', 'png', 'jpg', 'jpeg', 'gif'])

def allowed_file(filename):
    return '.' in filename and filename.rsplit('.', 1)[1].lower() in ALLOWED_EXTENSIONS

3. Маршрутизация приложений и запущенное приложение

@app.route('/')
def upload_form():
    return render_template('upload.html')


@app.route('/', methods=['POST'])
def upload_file():
    if request.method == 'POST':
        # check if the post request has the file part
        if 'file' not in request.files:
            flash('No file part')
            return redirect(request.url)
        file = request.files['file']
        if file.filename == '':
            flash('No file selected for uploading')
            return redirect(request.url)
        if file and allowed_file(file.filename):
            filename = secure_filename(file.filename)
            file.save(os.path.join(app.config['UPLOAD_FOLDER'], filename))
            flash('File successfully uploaded')
            return redirect('/')
        else:
            flash('Allowed file types are txt, pdf, png, jpg, jpeg, gif')
            return redirect(request.url)


if __name__ == "__main__":
    app.run(host='127.0.0.1',port=5000)

4. Создание шаблона

Создайте папку с именем «templates» и создайте файл «upload.html», который должен находиться внутри папки «templates».

upload.html

<!doctype html>
<title>Python Flask Multiple Files Upload Example</title>
<h2>Select file to upload</h2>
<p>
{% with messages = get_flashed_messages() %}
{% if messages %}
<ul class=flashes>
{% for message in messages %}
<li>{{ message }}</li>
{% endfor %}
</ul>
{% endif %}
{% endwith %}
</p>
<form method="post" action="/" enctype="multipart/form-data">
<dl>
<p>
<input type="file" name="file" autocomplete="off" required>
</p>
</dl>
<p>
<input type="submit" value="Submit">
</p>
</form>

Сворачивание ??? Вот полный код

singlefileupload.py

upload.html

Запуск приложения

Запустите приложение, запустив «python singlefileupload.py». Зайдите в браузер и введите «http: // localhost: 5000», вы увидите «загрузить файл» в браузере.

Если я загружаю другой файл, а не расширение типа txt, pdf, png, jpg, jpeg, gif. Файл не будет принят. .,

Полный код загружен в следующий репозиторий GitHub



В следующих блогах мы изучим загрузку нескольких файлов с помощью Python.



Вам понравилось то, что вы прочитали?

Удерживайте кнопку «хлопать» и продолжайте делиться

Спасибо,

Бала Муруган Н.Г.