web-dev-qa-db-fra.com

Importer une image dans Flask

Je dois télécharger des images dans le dossier statique de mon répertoire de projet, mais je ne sais pas comment le dire dans mon code. Dans le code.py suivant, je suis en mesure de télécharger une image et de la stocker dans le répertoire du projet au même niveau de dossier statique, mais j’aimerais que cette image puisse être stockée dans un dossier statique.

@app.route('/uploader', methods = ['GET', 'POST'])
def upload_file():
   if request.method == 'POST':
      f = request.files['file']

      f.save(secure_filename(f.filename))
      return render_template('end.html')

Ce que je dois faire?? Merci les gars

14
Teor9300

vous devez définir le upload folder

à partir de la documentation flask

import os
from flask import Flask, request, redirect, url_for
from werkzeug.utils import secure_filename

UPLOAD_FOLDER = '/path/to/the/uploads'
ALLOWED_EXTENSIONS = set(['txt', 'pdf', 'png', 'jpg', 'jpeg', 'gif'])

app = Flask(__name__)
app.config['UPLOAD_FOLDER'] = UPLOAD_FOLDER

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 user does not select file, browser also
        # submit a empty part without filename
        if file.filename == '':
            flash('No selected file')
            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))

https://flask.palletsprojects.com/en/1.1.x/patterns/fileuploads/

Donc, votre code serait UPLOAD_FOLDER = '/path/to/static/images' ou quelque chose comme ça

18
PYA