Я пытаюсь загрузить файл на сервер, используя флешку curl и python. Ниже приведен код того, как я его реализовал. Любые идеи о том, что я делаю неправильно.Загрузите файл на сервер флагов python с помощью curl
curl -i -X PUT -F name=Test -F [email protected] "http://localhost:5000/"
@app.route("/", methods=['POST','PUT'])
def hello():
file = request.files['Test']
if file and allowed_file(file.filename):
filename=secure_filename(file.filename)
print filename
return "Success"
Ниже ошибка, что сервер отправляет обратно
<!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>
Спасибо заранее.
Ваш код работает, если вы отправляете данные, например. 'curl -F" [email protected] "http: //127.0.0.1: 5000', что сужает вашу проблему до того, как вы обрабатываете запросы PUT в Flask. – Doobeh
Я помню какой-то поток, в котором говорится, что request.files не работает с PUT. Можете ли вы попробовать request.data? – codegeek
Ваш код выглядит хорошо, что вы можете получить, если попытаетесь: curl -X PUT -F [email protected] http: // localhost: 5000 – snahor