Thu. Feb 29th, 2024

¿Cómo cargar archivos a un directorio con Flask y Python?

By admin Feb 13, 2024


En este tutorial, exploraremos cómo cargar archivos a un directorio usando Flask, un popular marco web de Python. Flask proporciona una forma liviana y flexible de manejar la carga de archivos, lo que le permite crear aplicaciones web que aceptan y almacenan archivos enviados por los usuarios.

Revisaremos el proceso paso a paso de creación de una aplicación Flask que incluya una función de carga de archivos. Aprenderá cómo configurar las rutas necesarias, manejar la carga de archivos y guardar los archivos cargados en un directorio específico en su servidor.

Si es principiante, este tutorial le proporcionará el conocimiento y las habilidades para implementar la funcionalidad de carga de archivos en sus aplicaciones Flask. ¡Así que comencemos y aprendamos cómo cargar archivos a un directorio con Flask puro!

1- ¡Configurar el matraz!

Para configurar Flask usando pip, siga estos pasos:

  1. Abra su interfaz de línea de comandos (como Terminal o Símbolo del sistema).
  2. Asegúrese de tener Python y pip instalados en su sistema.
  3. Espere a que finalice la instalación. Flask y sus dependencias se descargarán e instalarán.
  4. Una vez que se completa la instalación, puede comenzar a usar Flask para desarrollar aplicaciones web.

Ejecute el siguiente comando para instalar Flask:

pip install flask

Nota: Se recomienda configurar un entorno virtual antes de instalar Flask para mantener aisladas las dependencias de su proyecto. Puede utilizar herramientas como virtualenv o venv para crear un entorno virtual.

2- Crea tu archivo de aplicación

from flask import Flask

app = Flask(__name__)

@app.route('/')
def hello():
    return 'Hello, World!'

if __name__ == '__main__':
    app.run()

3- Crea la plantilla de formulario de carga

Crea tu formulario de carga en ./templates/index.html.

<!doctype html>
<html>
  <head>
    <title>FLASK File Uploads</title>
  </head>
  <body>
    <h1>Upload your file</h1>
    <form method="POST" action="" enctype="multipart/form-data">
      <p><input type="file" name="file"></p>
      <p><input type="submit" value="Submit"></p>
    </form>
  </body>
</html>

4- Realizar la acción de carga de archivos

from flask import Flask, render_template, request, redirect, url_for
import os
from os.path import join, dirname, realpath





app = Flask(__name__)

# enable debugging mode
app.config["DEBUG"] = True

# Upload folder
UPLOAD_FOLDER = 'files'
app.config['UPLOAD_FOLDER'] =  UPLOAD_FOLDER





# Root URL
@app.route('/')
def index():
     # Set The upload HTML template '\templates\index.html'

    return render_template('index.html')


# Get the uploaded files
@app.route("/", methods=['POST'])
def uploadFiles():
      # get the uploaded file
      uploaded_file = request.files['file']
      if uploaded_file.filename != '':
           file_path = os.path.join(app.config['UPLOAD_FOLDER'], uploaded_file.filename)
          # set the file path
           uploaded_file.save(file_path)
          # save the file
      return redirect(url_for('index'))




if (__name__ == "__main__"):
     app.run(port = 5000)

5- Enumere los archivos cargados en el directorio de carga

Para enumerar los archivos cargados desde el directorio de carga, editaremos nuestra función principal de Ruta raíz:

# Root URL
@app.route('/')
def index():
    files = os.listdir('./files')    
    return render_template('index.html', files=files)

Luego mostraremos los archivos en la plantilla HTML:

<!doctype html>
<html>
  <head>
    <title>FLASK File Uploads</title>
  </head>
  <body>
    <h1>Upload your file</h1>
    <form method="POST" action="" enctype="multipart/form-data">
      <p><input type="file" name="file"></p>
      <p><input type="submit" value="Submit"></p>
    </form>
    <!--uploded files-->
    <div>      
      <ul>        
        {% for file in files %}
            <li>{{ file }}</li>
        {% endfor %}
        </ul>
    </div>  
    <!--/uploded files-->
  </body>
</html>

6- Bonus: Acceso desde la red local

Si desea acceder a su servidor de desarrollo Flask y probar su aplicación dentro de su red local, edite la configuración de su host:

if __name__ == '__main__':
    # run app in debug mode on port 5000
    app.run(debug=True, port=5055, host="0.0.0.0")

Ahora ya sabe cómo realizar cargas de archivos simples usando Flask.



Source link

By admin

Related Post

Leave a Reply

Your email address will not be published. Required fields are marked *