Загрузить и изображение и PDF отдельно с Laravel - PullRequest
0 голосов
/ 17 сентября 2018

В Laravel я пытаюсь загрузить изображение продукта, а также спецификацию продукта в формате PDF.При загрузке только одного изображения, которое работает, когда я загружаю PDF, оно переопределяет изображение.Я предполагаю, что я просто называю что-то не так в моем контроллере.

Вот код для представления:

{!! Form::open(['route' => 'rentals.store', 'files' => true]) !!}
        <fieldset>
            <div class="formrow">
                <div class="formitem col1of2">
                    {{ form::label('product_image', 'Upload Image', ['class' => 'label']) }}
                    {{ form::file('product_image') }}
                </div>
            </div>
            <div class="formrow">
                <div class="formitem col1of2">
                    {{ form::label('spec_sheet', 'Upload Spec Sheet', ['class' => 'label']) }}
                    {{ form::file('spec_sheet') }}
                </div>
            </div>
            <div class="formrow">
                <div class="formitem col1of2">
                    {{ Form::label('title', 'Title', ['class' => 'label']) }}
                    {{ Form::text('title') }}
                </div>
            </div>
            <div class="formrow">
                <div class="formitem col1of2">
                    {{ Form::label('name', 'Name', ['class' => 'label']) }}
                    {{ Form::text('name') }}
                </div>
            </div>
            <div class="formrow">
                <div class="formitem">
                    {{ Form::label('description', 'Descritption', ['class' => 'label']) }}
                    {{ Form::textarea('description')}}
                </div>
            </div>
        </fieldset>
        <div class="buttons">
            <div class="back">
                <button type="submit" class="primary button">Create Rental</button>
            </div>
        </div>
        {!! Form::close() !!}

А вот код в контроллере для создания каждого элемента:

 public function store(Request $request)
{
    // validate the data coming in

    $this->validate($request, array(
        'title'=>'required|max:255',
        'name'=>'required|max:255',
        'description'=>'required',
        'product_image'=>'image|nullable|max:1999',
        'spec_sheet'=>'mimes:pdf|max:10000',
    ));

    //store data in the data base

    //Image Upload
    if($request->hasFile('product_image')) {
        //Get file name and extension
        $filenameWithExt = $request->file('product_image')->getClientOriginalName();
        //Get just file name
        $filename = pathinfo($filenameWithExt, PATHINFO_FILENAME);
        //Get Ext
        $extension = $request->file('product_image')->getClientOriginalExtension();
        //Store file name
        $fileNameToStore = $filename. '.' .$extension;
        //Upload
        $path = $request->file('product_image')->storeAs('public/rentals', $fileNameToStore);
    }

     //PDF Upload
    if($request->hasFile('spec_sheet')) {
        //Get file name and extension
        $filenameWithExt = $request->file('spec_sheet')->getClientOriginalName();
        //Get just file name
        $filename = pathinfo($filenameWithExt, PATHINFO_FILENAME);
        //Get Ext
        $extension = $request->file('spec_sheet')->getClientOriginalExtension();
        //Store file name
        $fileNameToStore = $filename. '.' .$extension;
        //Upload
        $path = $request->file('spec_sheet')->storeAs('public/mcelroy-specs', $fileNameToStore);
    }

    $rental = new Rental;

    $rental->title = $request->title;
    $rental->name = $request->name;
    $rental->description = $request->description;
    $rental->product_image = $fileNameToStore; 
    $rental->spec_sheet = $fileNameToStore;          

    $rental->save();

    Session::flash('success', 'The item was successfully save!');

    return redirect()->route('rentals.show', $rental->id);
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...