#php #laravel #api #upload #lumen
Вопрос:
У меня есть API, который я создал в Lumen. API позволяет пользователям загружать файлы изображений на сервер. Микросервис отлично работает, когда я загружаю файлы напрямую.
Контроллер позволяет сохранять фон, и фон может быть как цветным, так и графическим.
шлюз API отлично работает, когда я сохраняю фон в виде цвета, так как загрузка файла отсутствует. фон загрузки работает нормально, если это просто текстовые поля
но если я попытаюсь сохранить фон типа изображения, который загружает изображение через шлюз API, я получу ошибку, показанную ниже.
изображение сообщения об ошибке
поскольку ошибка говорит о необработанной сущности, я предполагаю, что файловый ввод я не отправляю данные файла enctype='multipart/form-data'
(просто предположение), потому что в нем все еще говорится, что поле требуется, даже если оно заполнено.
Я использую почтальона для отправки запросов
это часть моего кода, которая загружает изображения
$path = 'assets' . DIRECTORY_SEPARATOR . 'files' . DIRECTORY_SEPARATOR . 'backgrounds' . DIRECTORY_SEPARATOR; $destinationPath = storage_path($path); $background = DB::table('backgrounds')-gt;insert([ 'note_background_type' =gt; $bg_type, 'note_background_name' =gt; $picName, 'created_at' =gt; CarbonCarbon::now()-gt;toDateTimeString() ]); if ($background) { if ($request-gt;file('note_background_name')-gt;move($destinationPath, $picName)) { // } else { // } }
это метод в шлюзе API
public function store(Request $request) { return $this-gt;successResponse($this-gt;backgroundService-gt;createBackground($request-gt;all(), Response::HTTP_CREATED)); }
это код, который отправляет запрос на сервер микросервиса
public function createBackground($data) { return $this-gt;performRequest('POST', '/backgrounds', $data); }
имейте в виду, что шлюз API работает нормально, если я отправляю данные без изображений. проблема в том, что я имею дело с загрузкой файлов