getClientOriginalName в null в laravel - PullRequest
0 голосов
/ 09 ноября 2019

Я пытаюсь вставить данные файла изображения в базу данных. но это не работает. Сообщение об ошибке getClientOriginalName () в null.

Мой контроллер:

public function storeProduct(Request $request) {  
  $ProductImg=$request->file('ProductImg');
  $Name=$ProductImg->getClientOriginalName();
  $uploadPath='public/ProductImg/';
  $ProductImg->move($uploadPath,$Name);
  $imageUrl=$uploadPath.$Name;
  $this->saveProductinfo($request, $imageUrl);
  return redirect('/product/add')->with('message','Product info save Successfully');
}

Как мне решить эту проблему, пожалуйста?

Ответы [ 4 ]

0 голосов
/ 09 ноября 2019

Используйте

enctype = "multipart / form-data"

атрибут в вашей форме, как этот.

<form name="add_form" action="/add" method="POST" enctype="multipart/form-data">
0 голосов
/ 09 ноября 2019

Попробуй это. убедитесь, что ваш атрибут формы имеет enctype="multipart/form-data"

if ($request->hasFile('ProductImg')) {
    $destinationPath = public_path().'/ProductImg/';
    $file = $request->ProductImg;
    $fileName = $request->file('ProductImg')->getClientOriginalName();
    $file->move($destinationPath, $fileName);
    $imageUrl=$uploadPath.$fileName;
    $this->saveProductinfo($request, $imageUrl);
    return redirect('/product/add')->with('message','Product info save Successfully');
}
0 голосов
/ 09 ноября 2019

Вам необходимо проверить файл перед его работой

if ($request->hasFile('ProductImg')) {
    // your code here
}

Внимание! вам нужно использовать в вашей форме следующий attr - enctype = "multipart / form-data"

<form name="my_form" action="/upload" method="POST" enctype="multipart/form-data">
0 голосов
/ 09 ноября 2019

Ошибка гласит, что $ProductImg равно null. Это означает, что запрос не содержит файлового объекта. Попробуйте $request->file('ProductImg')->isValid(), чтобы проверить, был ли файл загружен. Я думаю, вы получите False здесь.

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