Впервые при загрузке файла во Flask я вижу такую ошибку:
TypeError '>' не поддерживается между экземплярами int и str
это веб-приложение с VueJS и Python.VueJS использует axios для загрузки
<template>
<form class="ui form">
<div class="ui action input">
<label for="uploader"></label>
<input
type="file"
name="uploader"
id="uploader"
ref="uploader"
value="Choose a file"
@change="handleFile">
<div class="ui button" @click="Upload">Upload</div>
</div>
</form>
</template>
вызов axios
methods: {
upload: function() {
const formData = new FormData()
formData.append('file', this.$refs.uploader.files[0])
axios.post('test/upload', formData, {'Content-Type': 'multipart/form-data'})
.then((response) => {
console.log('ok')})
.catch((error) => {
console.log('Error')})
}
}
, и это код Python
@app.route('test/upload', methods=["POST"])
def upload():
try:
if request.files['file']:
return Response(
{"op": "ok"},
status=200,
mimetype="application/json")
except Exception as e:
print(e)
return Response(
{"op": "fail"},
status=500,
mimetype="application/json")
Более или менее теосновы и общие операции, которые мы можем найти в сети, но на этот раз это ошибка TypeError выше.В режиме отладчика я вижу эту ошибку в выводе
request.form
request.files
, но не в request.data () .
Почему я получаю ошибку?Очевидно, что в инструментах разработчика браузера заголовок запроса и полезная нагрузка верны.
С уважением
DPope