Używając surowego kodu HTML, gdy wysyłam plik na serwer flask, mogę uzyskać dostęp do plików z globalnego żądania flask:
<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>
W kolbie:
def post(self):
if 'file' in request.files:
....
Kiedy próbuję zrobić to samo z Axios, globalne żądanie kolby jest puste:
<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'
}
})
}
Jeśli używam tej samej funkcji uploadFile powyżej, ale usuwam nagłówki json z metody axios.post, otrzymuję w kluczu formularza mojego obiektu żądania kolby listę csv wartości ciągów (plik jest .csv).
Jak mogę uzyskać obiekt pliku wysłany przez axios?
v-on:change="uploadFile"
ze input
zamiast form
tagu?