Подтвердить что ты не робот

Загрузите файл на сервер флипсы python с помощью curl

Я пытаюсь загрузить файл на сервер, используя флягу curl и python. Ниже приведен код того, как я его реализовал. Любые идеи о том, что я делаю неправильно.

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>

Спасибо заранее.

4b9b3361

Ответ 1

Ваша команда curl означает, что вы передаете два содержимого формы, один файл с именем filedata и одно поле формы с именем name. Итак, вы можете сделать это:

file = request.files['filedata']   # gives you a FileStorage
test = request.form['name']        # gives you the string 'Test'

но request.files['Test'] не существует.