2016-04-22 4 views
1

Я пытаюсь загрузить изображения с помощью метода перемещения временных файлов и показать его на моей индексной странице только с помощью пути.Загрузка изображений Laravel 5.2: попытка получить свойство не объекта

Вот проблема:

ErrorException in ProductController.php line 69: Trying to get property of non-object 

В мой контроллер, который содержит строку, который ошибка:

public function store(Request $request) 
{ 
    $product=Request::all(); 
    Product::create($product); 


    $imageName = $product->id_prod . '.' . 
     $request->file('images')->getClientOriginalExtension(); 

    $request->file('images')->move(
     base_path() . '/public/images/catalog/', $imageName 
    ); 

    return redirect('product'); 
} 

А вот база данных, файл был загружен на временную папку, но файл был не удалось переместить. Я использую Laravel 5.2, это был первый раз, когда я загружал файлы. И может кто-нибудь объяснить мне, почему это может быть ошибкой.

Извините за мои плохие грамматики.

Images

ответ

1

Вы можете попробовать так:

public function store(Request $request) 
{ 
    $product = $request->all(); 

    $picture = ''; 

    if ($request->hasFile('images')) { 
     $file = $request->file('images'); 
     $filename = $file->getClientOriginalName(); 
     $extension = $file->getClientOriginalExtension(); 
     $picture = $product['id_prod'] . '.' . $extension; 
     $destinationPath = base_path() . '/public/images/catalog/'; 
     $request->file('images')->move($destinationPath, $picture); 
    } 

    if (!empty($product['images'])) { 
     $product['images'] = $picture; 
    } else { 
     unset($product['images']); 
    } 


    Product::create($product); 

    return redirect('/product'); 
} 
+0

Спасибо, я думаю, что это, предполагают, чтобы быть работа, но другая ошибка: 'Призыв к неопределенным метод Осветите \ Support \ Фасады \ Request :: all() ' –

+0

' use Illuminate \ Http \ Request; 'Вы видели что-то подобное в своем контроллере? –

+0

Я добавил это, но «Не могу использовать Illuminate \ Http \ Request as Request, потому что имя уже используется» –

Смежные вопросы