Я загружаю несколько файлов в Laravel 5.7 файлы загружаются в базу данных, но я могу просматривать на панели администратора и как редактировать эти файлы. Как отобразить эти изображения на панели администратора и как редактировать эти файлы. Вот мой код, приведенный ниже:

Это мой контроллер для загрузки файла

public function addProduct(Request $request)
    {
        if($request->isMethod('get'))
        { 
          return view('admin.product.add-product');
        }
        if($request->isMethod('post'))
        {    

            $this->validate($request,[
                'product_name'  => 'required|max:40',
                'price'         => 'required',
                'product_type'  => 'required', 
                'quantity'  => 'required',
                'description'  => 'required',
                'image' => 'required',
                'image.*' => 'image|mimes:jpeg,png,jpg,gif,svg'

            ]);

           $product = new Product();
           $product->product_name = $request->product_name;
           $product->price = $request->price;
           $product->product_type = $request->product_type;
           $product->quantity = $request->quantity;
           $product->description = $request->description;

           //image upoad code
            //return $request->all();
          if($request->hasfile('image'))

        {
            // return $request->image;
               foreach($request->file('image') as $images)
            {

                     //var_dump($images);
                    $name=$images->getClientOriginalName();
                    $images->move(public_path().'/images/', $name);  
                    $data[] = $name;  
            }
        }


           $product->image=json_encode($data);
           $product->save();

           return redirect('admin/product-management'); 
        }
    }

Код для просмотра файла на панели администратора:

@foreach ($product as $products)
    @php $images = json_decode($product->image,true);
    @endphp

    @if(is_array($images) && !empty($images))
        @foreach ($images as $image)
            <img src="{{ url('public/images/'.$images) }}"/>
        @endforeach
    @endif
@endforeach

Я загружаю файлы в папку public / images. Как редактировать и отображать изображения на панели администратора.

В базе данных изображения хранятся как ["download.jpeg", "download.png", "download (2) .jpeg"]

0
nidhi mahajan 11 Апр 2019 в 08:39

2 ответа

Лучший ответ

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

@foreach ($products as $product)
@php $images = json_decode($product->image,true);
@endphp

@if(is_array($images) && !empty($images))
    @foreach ($images as $image)
        <img src="{{ asset('images/'.$image) }}"/>
    @endforeach
@endif
@endforeach

Здесь я удалил функцию URL-адреса и использовал функцию актива, ресурс сделал полный URL-адрес для публичного каталога

2
Surender Singh Rawat 11 Апр 2019 в 06:05

Просто удалите ключевое слово public из пути к изображению и проверьте снова

@foreach ($product as $products)
    @php $images = json_decode($product->image,true);
    @endphp

    @if(is_array($images) && !empty($images))
        @foreach ($images as $image)
            <img src="{{ url('images/'.$image) }}"/>
        @endforeach
    @endif
@endforeach

Я также удалил 's' из {{ url('images/'.$image) }}

1
David 11 Апр 2019 в 06:21