Usando HTML sin procesar cuando publico un archivo en un servidor de matraces usando lo siguiente, puedo acceder a archivos desde la solicitud de matraz global:
<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 frasco:
def post(self):
if 'file' in request.files:
....
Cuando intento hacer lo mismo con Axios, la solicitud del matraz global está vacía:
<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 uso la misma función uploadFile anterior pero elimino los encabezados json del método axios.post, obtengo en la clave de formulario de mi objeto de solicitud de matraz una lista csv de valores de cadena (el archivo es un .csv).
¿Cómo puedo enviar un objeto de archivo a través de axios?
v-on:change="uploadFile"
con en input
lugar de form
etiqueta?