pdf в запросе laravel - PullRequest
       6

pdf в запросе laravel

0 голосов
/ 18 ноября 2018

так что для приложения я должен отправить PDF в API, затем сделать некоторые вещи с PDF, а затем отправить его в другой API, а затем вернуть результат

задача n1:

Я не знаю, как получить доступ к PDF, который я отправил с Почтальоном я пытался

$file = $request->get('upload_file'); 

, который, кажется, не работает, так как я не могу получить файл, который называется

test.pdf 

и имеет содержание

Test
Dit is een test

тем временем я делаю

$parser = new Parser();
$pdf = $parser->parseFile('pdf/test.pdf');
$text = pdf->getText();

задача №2:

API, который я отправил преобразованный файл PDF, чтобы утверждать, что запрашиваемый элемент недействителен Я использую Жадность для запроса

    $headers =
        [
            'headers' => [
                'Ocp-Apim-Subscription-Key' => 'xxxxxxxxxxxxxxxxxxxxxxx',
                'Accept' => 'application/json',
                'Content-Type' => 'application/json']
        ];
    $body =
        '{
            "documents": [
            {
            "language": "nl",
            "id": "1",
            "text":"' . $text . '"}
            ]
        }';

    $client = new Client();

    $response = $client->request('POST', 'https://westeurope.api.cognitive.microsoft.com/text/analytics/v2.0/KeyPhrases', $headers, $body);

даёт

`Client error: `POST

https://westeurope.api.cognitive.microsoft.com/text/analytics/v2.0/KeyPhrases в результате 400 неправильный запрос response:\n {"code":"BadRequest","message":"Invalid request","innerError": {"code":"InvalidRequestBodyFormat","message":"Request body (truncated...)\n // не могу отформатировать это правильно

так может кто-нибудь PLZ мне помочь? и объясните, что я делаю не так, если у них есть время

1 Ответ

0 голосов
/ 18 ноября 2018

Для первой части вашего вопроса (n1) вы можете получить загруженный файл, используя:

$file = $request->file('test'); // where 'test' is the 'name' of this file input

Более подробная информация здесь: https://laravel.com/docs/5.7/requests#retrieving-uploaded-files

Для второй части (n2), похоже, вы передаете недопустимое тело.Попробуйте это:

$body = [
    'documents' => [
        [
            'language' => 'nl',
            'id' => '1',
            'text' => $text,
        ],
    ]
];
$headers = [
    'Ocp-Apim-Subscription-Key' => 'xxxxxxxxxxxxxxxxxxxxxxx',
    'Accept' => 'application/json',
    'Content-Type' => 'application/json' // this might not be needed since Guzzle should add this automatically
];
$client->request('POST','https://westeurope.api.cognitive.microsoft.com/text/analytics/v2.0/KeyPhrases', [
    'json' => $body,
    'headers' => $headers,
    'debug' => true, // to get more info on the error ...
]);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...