En utilisant du HTML brut lorsque je publie un fichier sur un serveur flask en utilisant ce qui suit, je peux accéder aux fichiers à partir de la requête 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>
En flacon:
def post(self):
if 'file' in request.files:
....
Quand j'essaye de faire la même chose avec Axios, la requête globale du flacon est vide:
<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'
}
})
}
Si j'utilise la même fonction uploadFile ci-dessus mais que je supprime les en-têtes json de la méthode axios.post, j'obtiens dans la clé de forme de mon objet de demande de flacon une liste csv de valeurs de chaîne (le fichier est un .csv).
Comment puis-je envoyer un objet fichier via axios?
v-on:change="uploadFile"
avec input
au lieu de form
tag?