Используйте Ajax для отправки изображения от пользователя к Flask для классификации - PullRequest
0 голосов
/ 03 июля 2019

Я хочу взять изображение в качестве ввода от пользователя через тег ввода HTML и хочу отправить это изображение во Flask с помощью Ajax, чтобы я мог классифицировать это изображение с помощью сохраненной модели Keras после некоторых шагов предварительной обработки, а затем вернуть прогнозируемый класс в Ajax для отображения на экране. Но я столкнулся с проблемой получения изображения в Flask от Ajax для дальнейшей обработки.

Вот мой HTML и Ajax

<form id="main_form">
  <input type="file" name="imgtoupload", id="imgtoupload">
  <button type="submit" name="submit" id="submit">Submit</button>
</form>
<h2>Class Prediction is: <span id="result"></span></h2>
$(document).ready(function(){
    $("#main_form").on('submit', function(event){

        event.preventDefault();

        var send_data = new FormData(this);

        $.ajax({
            type:'POST',
            url: '/predict',
            data: send_data,
            success:function(data){

                $("#result").text(data.name);

            }
        });
    });
});

@app.route('/predict',methods=['POST'])
def predict():

Я хочу использовать это входное изображение из Ajax в качестве массива в этой функции прогнозирования в python для дальнейшей обработки.

1 Ответ

0 голосов
/ 03 июля 2019

Вы можете импортировать изображение в колбу как это:

from flask import Flask, request
@app.route('/predict', methods=['POST'])
def predict(): 
    file = request.files['file']

После этого вы можете сохранить и обработать файл в приложении фляги

Вот мой HTML

<form action="score" method="post" enctype="multipart/form-data">
    <input type="file" name="file">
    <input type="submit" value="Upload">
</form>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...