У меня есть 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 проблем вообще нет
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 все еще загружается, как бесконечная история ...