Wenn ich eine Datei mit Roh-HTML auf einem Flask-Server poste, kann ich über die Flask-Anfrage global auf Dateien zugreifen:
<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 der Flasche:
def post(self):
if 'file' in request.files:
....
Wenn ich versuche, dasselbe mit Axios zu tun, ist die globale Flaschenanforderung leer:
<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'
}
})
}
Wenn ich die gleiche Funktion uploadFile wie oben verwende, aber die Header json aus der axios.post-Methode entferne, erhalte ich im Formularschlüssel meines Flask-Anforderungsobjekts eine CSV-Liste mit Zeichenfolgenwerten (Datei ist eine CSV-Datei).
Wie kann ich ein Dateiobjekt über Axios senden lassen?
v-on:change="uploadFile"
mit input
statt form
tag versucht ?