Загрузить файл с помощью Flask API с использованием Python
Простое руководство по загрузке файла с использованием Flask API и Python. . . ,
Почему это руководство?
Увидев, как многие люди пишут в блогах об учебнике «Flask для начинающих». Я заметил это, только в меньшем количестве блогов говорится о «загрузке файла Flask». Итак, я заинтересовался написанием о «Выгрузке файла Flask». Я уверен, что этот блог поможет вам создать загрузку файлов, которая упростит вам работу. . . ,
Ищете несколько файлов, загружаемых с помощью Flask?
Начните с загрузки нескольких файлов с помощью Flask
Flask для загрузки нескольких файлов medium.com
Почему именно Flask?
Точно так же, как люди путаются с тем, с какой версии Python начать, Django vs Flask - еще одна давняя дискуссия. Хотя люди говорят, что Flask прост и удобен в использовании, в то время как Django тяжел для создания веб-приложений, есть еще одна важная причина, по которой вы должны выбрать Flask вместо Django.
Мы, как разработчики в эпоху облачных вычислений, отходим от монолитных приложений. При наличии архитектуры микросервисов запуск нескольких серверов Django сделает ваши сервисы тяжелыми из-за наличия всех встроенных приложений, с которыми он поставляется.
Требования и установка
- Конечно, нам нужен Python 3.5 или выше. "Но почему?? видеть это"
- Установить 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».
- Импорт библиотек
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.
Начните с загрузки нескольких файлов с помощью Flask
Flask для загрузки нескольких файлов medium.com
Вам понравилось то, что вы прочитали?
Удерживайте кнопку «хлопать» и продолжайте делиться
Спасибо,
Бала Муруган Н.Г.