Utilizzando HTML grezzo quando inserisco un file su un server flask utilizzando quanto segue posso accedere ai file dalla richiesta di flask globale:
<form id="uploadForm" action='upload_file' role="form" method="post" enctype=multipart/form-data>
<input type="file" id="file" name="file">
<input type=submit value=Upload>
</form>
In matraccio:
def post(self):
if 'file' in request.files:
....
Quando provo a fare lo stesso con Axios, la richiesta del flask globale è vuota:
<form id="uploadForm" enctype="multipart/form-data" v-on:change="uploadFile">
<input type="file" id="file" name="file">
</form>
uploadFile: function (event) {
const file = event.target.files[0]
axios.post('upload_file', file, {
headers: {
'Content-Type': 'multipart/form-data'
}
})
}
Se utilizzo la stessa funzione uploadFile sopra ma rimuovo le intestazioni json dal metodo axios.post ottengo nella chiave del modulo del mio oggetto di richiesta flask un elenco csv di valori stringa (il file è un .csv).
Come posso ottenere un oggetto file inviato tramite axios?
v-on:change="uploadFile"
con input
invece di form
tag?