Laravel x Flask - Ошибка клиента: `POST http://127.0.0.1: 5000 / run` привела к ответу` 400 BAD REQUEST`: - PullRequest
1 голос
/ 14 апреля 2020

У меня есть 2 системы, созданные из Laravel & Flask

Laravel - http://127.0.0.1: 8000 / Flask - http://127.0.0.1: 5000 /

Когда я пытаюсь отправить запрос отправки данных формы вместе с файлом из Laravel в Flask через Guzzle, я получаю это сообщение об ошибке.

"""
Client error: `POST http://127.0.0.1:5000/run` resulted in a `400 BAD REQUEST` response:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<title>400 Bad Request</title>
<h1>Bad Request</h1>
<p>The brows (truncated...)
"""

При использовании POSTMAN проблем вообще нет

enter image description here

Laravel код

$client = new \GuzzleHttp\Client();
            $options = [
                'multipart' => [
                    [
                        'name'     => 'file',
                        'contents' => file_get_contents(storage_path('app/public/config/'.$service->config, 'r' ))
                    ],
                    [
                        'name'     => 'service_id',
                        'contents' => $id
                    ],
                    [
                        'name'     => 'email',
                        'contents' => auth()->user()->email
                    ]
                ]
            ];
            $response = $client->post('http://127.0.0.1:5000/run', $options);

Flask код

@app.route('/run', methods=['POST'])
def run():
    service_id = request.form.get("service_id")
    email = request.form.get("email")
    file = request.files['file']

Сообщение об ошибке произошло из-за файла. Он существует, но не может быть отправлен.

Обновление: я изменил с file_get_contents на fopen. Клиентская сторона Flask успешно перехватила мой запрос, но на серверной стороне Laravel все еще загружается, как бесконечная история ...

...