Публикация данных с загрузкой файла Rest - PullRequest
0 голосов
/ 16 мая 2018

Для моей остальной сборки API с помощью symfony у меня есть сущность Product с изображением.

В Postman я пытаюсь опубликовать эту сущность и загрузить этот файл, я использую данные формы, как я вижу во многих постах., с Content-Type form-data / multipart и без.

POSTMAN

Но мой файл не отображается в запросе тела.Когда я сбрасываю его, у меня есть только четыре параметра без "url_image"?

В чем проблема?Как я могу это исправить?

Ответы [ 2 ]

0 голосов
/ 16 мая 2018

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

Вы можете получить их в вашем контроллере следующим образом:

public function someControllerMethod(Request $request)
{
   $img = $request->files->get('url_image');
}

То, что вы получите, является экземпляром UploadedFile.Я рекомендую вам проверить документы, чтобы узнать, как с ним работать.Обычно вы перемещаетесь в папку в вашей файловой системе или открываете ее в виде потока и отправляете ее поставщику облачного хранилища.

Приветствия!

0 голосов
/ 16 мая 2018

если вы делаете:

public function someAction(Request $request) {
    $file = $request->get('url_image');
    // or
    $file = $request->request->get('url_image');
}

тогда вы делаете это неправильно, вместо этого выполните:

public function someAction(Request $request) {
    /** @var \Symfony\Component\HttpFoundation\File\UploadedFile $file */
    $file = $request->files->get('url_image');
}

загруженные файлы не совсем в теле запроса

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...