Я тестирую свой API с помощью POSTMAN, и когда я пытаюсь отправить любой файл, содержимое $ request-> files-> all() всегда пуст.
$ request-> server-> Параметры ["CONTENT_LENGTH"], похоже, меняются в зависимости от размера файла. Но я не нашел способ достичь содержимого файла.
Пробовал также с $ _FILES, но тот же результат.
Я даже сделал var_dump ($ _ FILES); в моем app_dev.php непосредственно перед тем, как достичь чего-либо еще из рамок Symfony.
Мой php.ini, кажется, хорошо: file_uploads: на upload_max_filesize: более чем достаточно post_max_size: более чем достаточно
В POSTMAN Я попробовал оба способа отправки файла: файл двоичный и форм-данных ,
почтальоном пример кода выглядит следующим образом с использованием форм-данных:
PUT /retain_inspecciones/web/app_dev.php/api/planningfiles/6?files=true HTTP/1.1
Host: symfony.dev
symfonytoken: Bearer my-token
Cache-Control: no-cache
Postman-Token: 9c9cd91a-99f2-57ab-a290-966074b219f3
Content-Type: multipart/form-data; boundary=----WebKitFormBoundary7MA4YWxkTrZu0gW
------WebKitFormBoundary7MA4YWxkTrZu0gW
Content-Disposition: form-data; name="fileName"; filename=""
Content-Type:
------WebKitFormBoundary7MA4YWxkTrZu0gW--
Я не уверен, почему та часть, где файл должен быть пустая строка и Content-Type пуст. Но похоже, что POSTMAN это делает.
Любая идея?
PUT не POST ... – CBroe
@CBroe Я думаю, что в этом случае это не имеет значения, я захватил запрос перед обработкой метода. И я проверил их обоих. В любом случае я хочу использовать PUT, так как я обновляю объект, а не создаю его. $ _FILES должен присутствовать как в методе POST, так и в PUT, не так ли? Я имею в виду ... Я хочу отправить больше, чем файл по запросу. Является ли это возможным? – Kynethix
Нет, $ _FILES для файлов, загружаемых только через POST. Если вы хотите поддержку PUT, то вы должны реализовать это самостоятельно: http://php.net/manual/en/features.file-upload.put-method.php (если Symfony уже делает это для вас.) – CBroe