Python: effettuare l'upload di un file con il modulo requests

Python: effettuare l'upload di un file con il modulo requests

In questo articolo vedremo come effettuare l'upload di un file in Python con il modulo requests.

La soluzione è la seguente:


import os
import requests

def upload_file(url, file_path):
    if not os.path.exists(file_path):
        return False
    with open(file_path, 'rb') as f:
        files = {'file': f}
        try:
            r = requests.post(url, files=files)
        except requests.exceptions.RequestException:
            return False
    return True                

La funzione restituirà un valore booleano. In caso di file non esistente o non accessibile e di errore nella richiesta HTTP, verrà restituito False. Il file viene letto in modalità binaria e inserito come valore nel dizionario files che verrà utilizzato nella richiesta POST all'URL specificato. La chiave del dizionario nell'esempio corrisponde al nome del file che il web server si aspetta per finalizzare l'upload. Infatti in questo caso stiamo simulando l'invio di un form HTML, quindi la chiave file corrisponde al valore dell'attributo name di un campo di input HTML di tipo file.

Torna su