Il caricamento di file multipli è una funzionalità comune in molte applicazioni web. In Python, puoi implementarlo facilmente utilizzando il framework Flask e altre librerie per gestire le richieste e salvare i file. In questo articolo, vedremo un esempio pratico di come farlo.
Prerequisiti
Prima di iniziare, assicurati di avere installati i seguenti strumenti:
- Python 3.x
- Flask (installabile con
pip install flask
)
Codice di Esempio
Di seguito trovi un esempio di codice per implementare l'upload di file multipli:
from flask import Flask, request, render_template_string
app = Flask(__name__)
# Configurazione della directory di upload
app.config['UPLOAD_FOLDER'] = 'uploads/'
@app.route('/')
def upload_form():
return render_template_string('''
<!doctype html>
<title>Caricamento File Multipli</title>
<h1>Carica i tuoi file</h1>
<form method="post" action="/upload" enctype="multipart/form-data">
<input type="file" name="files" multiple>
<input type="submit" value="Carica">
</form>
''')
@app.route('/upload', methods=['POST'])
def upload_files():
if 'files' not in request.files:
return "Nessun file selezionato."
files = request.files.getlist('files')
saved_files = []
for file in files:
if file.filename != '':
file.save(f"{app.config['UPLOAD_FOLDER']}{file.filename}")
saved_files.append(file.filename)
return f"File salvati: {', '.join(saved_files)}"
if __name__ == "__main__":
app.run(debug=True)
Spiegazione del Codice
Il codice si divide in tre parti principali:
- Configurazione: La directory
UPLOAD_FOLDER
viene configurata per salvare i file. - Interfaccia Utente: La route
/
serve una semplice interfaccia HTML per caricare i file. - Gestione dell'Upload: La route
/upload
gestisce i file inviati e li salva nella directory configurata.
Conclusione
Implementare il caricamento di file multipli con Python è semplice e richiede poche righe di codice. Questo esempio è un punto di partenza, e puoi personalizzarlo per soddisfare le tue esigenze specifiche, come la validazione dei file o l'organizzazione in sottodirectory.