#python #curl #flask
#python #curl #flask
Вопрос:
Я хочу опубликовать файл с помощью cURL в представлении Flask. Однако в ответ я получаю ошибку 400. Почему приведенная ниже команда завершается ошибкой?
@app.route('/deploy/partial', methods=['POST'])
def postfile():
try:
file = request.files['file']
filename = secure_filename(file.filename)
file.save(os.path.join('/home/test/test.txt', filename))
return 'OK', 200
except:
print("Unexpected error:", sys.exc_info()[0])
raise
curl -X POST -H "Content-Type: multipart/form-data" -F "file=@FILEPATH" http://127.0.0.1:25252/deploy/partial
Unexpected error: <class 'werkzeug.exceptions.HTTPException.wrap.<locals>.newcls'>
127.0.0.1 - - [12/Oct/2016 22:57:43] "POST /deploy/partial HTTP/1.1" 400
HTTP/1.1 100 Continue
HTTP/1.0 400 BAD REQUEST
Content-Type: text/html
Content-Length: 192
Server: Werkzeug/0.11.11 Python/3.4.3
Date: Wed, 12 Oct 2016 19:31:07 GMT
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<title>400 Bad Request</title>
<h1>Bad Request</h1>
<p>The browser (or proxy) sent a request that this server could not understand.</p>
Ответ №1:
Я получил
Неожиданная ошибка: .newcls’>
после того, как я случайно переименовал request.form[‘name’] в request.form[‘ame’] (обратите внимание на неправильное ‘ame’), в то время как мое поле формы name = StringField(…)
Я изменил request.form[‘ame’] на request.form[‘name’], и ошибка исчезла, т. Е. flask работает
Не уверен, что это и ваш случай.
Комментарии:
1. эй, сначала я подумал то же самое, но в моем случае это кажется случайным … например, я отправляю 10 идентичных файлов с одинаковыми аргументами curl. . первые 4 или 5 работают finr, а другие выдают исключение thr…