Python Flask - получить изображение как пост - PullRequest
0 голосов
/ 10 ноября 2019

У меня проблемы с получением изображения из формы на моем Python-сервере.

Вот код HTML-формы:

<form action="http://localhost:85/upload" method="POST" enctype="multipart/form-data">
    Select image to upload:
    <input type="file" name="myImage" id="fileToUpload">
    <input type="submit" value="Upload Image" name="submit">
</form>

Вот код сервера

from flask import Flask, request

app = Flask(__name__)

@app.route("/")
def main():
    return("Welcome!")

@app.route('/upload')
def upload():
    try:
        # check if the post request has the file part
        file = request.files['myImage']
        return("Image uploaded")
        print("Image uploaded")
    except Exception as err:
        print("Error occurred")
        print(err)
        return("Error, image not received.")

if __name__ == "__main__":
    app.run(debug=True, host="0.0.0.0", port=85)

Вот вывод консоли, когда я отправляю форму:

"POST /upload HTTP/1.1" 405 -

По сути, просто показывает, что сайт не может быть достигнут. Когда я иду на URL без отправки изображения, страница работает нормально. Я понятия не имею, что я делаю неправильно. Вся помощь приветствуется.

1 Ответ

0 голосов
/ 10 ноября 2019

Тип метода (POST) отсутствует в вашем маршруте. Таким образом, он дает 405, то есть method not allowed.

https://flask.palletsprojects.com/en/1.1.x/quickstart/#routing

Веб-приложения используют различные методы HTTP при доступе к URL-адресам. Вы должны ознакомиться с методами HTTP при работе с Flask. По умолчанию маршрут отвечает только на запросы GET. Вы можете использовать аргумент метода декоратора route () для обработки различных методов HTTP.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...