Php Laravel:创建表单显示照片和编辑表单不显示照片

Php Laravel:创建表单显示照片和编辑表单不显示照片,php,html,laravel,laravel-5.3,laravel-5.4,Php,Html,Laravel,Laravel 5.3,Laravel 5.4,创建表单中的dd($input)显示以下内容: array:5 [▼ "_token" => "Q6xauvlFx0k61JDqFvo4FsJtr5Y9EbVX8V3Wwk8V" "blockquote" => "test block quote content" "name" => "test name" "description" => "test description" "photo" => UploadedFile {#267 ▶} ]

创建表单中的dd($input)显示以下内容:

array:5 [▼
  "_token" => "Q6xauvlFx0k61JDqFvo4FsJtr5Y9EbVX8V3Wwk8V"
  "blockquote" => "test block quote content"
  "name" => "test name"
  "description" => "test description"
  "photo" => UploadedFile {#267 ▶}
]
但是编辑表单的dd($input)显示以下内容

array:9 [▼
  "_method" => "PATCH"
  "_token" => "oDzfMvXiWMUzAr6zftnTZb9IVQCwWa2Tt2ZPBp6x"
  "photo" => "43-356x220.jpg"
  "blockquote" => "asf"
  "name" => "Af"
  "description" => "af"
  "files" => "1"
  "enctype" => "multipart/form-data"
  "data-toggle" => "validator"
]
因此,这会导致图像上载失败和

$image = Input::file('photo');
上面的行返回null。我想要照片,我该怎么办

我认为这项工作的方法'后'在创建和显示不同的方法'补丁'在编辑。如何在编辑中实现

编辑:添加了我的代码

create.blade.php代码

 {!! Form::open([
        'route' => 'MessageFromAlumniPresident.store', 'id' => 'formidda', 'files' => true, 'enctype' => 'multipart/form-data', 'data-toggle'=>'validator'
     ]) !!}

    @include('Admin.MessageFromAlumniPresident.create_edit_common')

    <button class="btn btn-success" type="submit">Submit</button>


    {!! Form::close() !!}
此创建工作正常…

edit.blade.php

 {!! Form::model($item, [
      'route' => ['MessageFromAlumniPresident.update', $item->id, 'files' => true, 'enctype' => 'multipart/form-data', 'data-toggle'=>'validator']
      ]) !!}

    @include('Admin.MessageFromAlumniPresident.create_edit_common')

    <button class="btn btn-success" type="submit">Submit</button>
    {!! Form::close() !!}

您的表单在文件输入方面有什么不同?第二个似乎只是看到一个字符串,就像您在控制器return的“photo”=>UploadedFile{#267中编写了
input type=“text”
参考如何在laravel@Naincy create方法中使用文件一样▶}' 因此,我们可以处理,但控制器中的上载方法只提供文件名。@arun显示您的代码您做了什么?@arun我理解,所以只有我共享了链接。……为了保存,您必须要检索路径和扩展名,您可以从$path=$request->photo->path();$extension=$request->photo->extension()获取路径和扩展名;不确定你是否想要这个
 {!! Form::model($item, [
      'route' => ['MessageFromAlumniPresident.update', $item->id, 'files' => true, 'enctype' => 'multipart/form-data', 'data-toggle'=>'validator']
      ]) !!}

    @include('Admin.MessageFromAlumniPresident.create_edit_common')

    <button class="btn btn-success" type="submit">Submit</button>
    {!! Form::close() !!}
public function update(Request $request, $id)
    {
        $items = MessageFromAlumniPresident::findOrFail($id);

        $this->validate($request, [
            'blockquote' => 'required',
            'name' => 'required',
            'description' => 'required',
            'photo' => 'required'
        ]);

        $input = $request->all();


        $image = Input::file('photo');

        $items->fill($input)->save();

        if($image === NULL){
            Session::flash('flash_message', 'Product Master successfully added!');

            //TODO: redirect to Party list page
            return redirect()->route('MessageFromAlumniPresident.index');
        }else{
            $path = public_path('/images/MessageFromAlumniPresident/alumni_president.jpg');

            \File::delete($path);

            $filename = 'alumni_president'. '.' . $image->getClientOriginalExtension();
            $path = public_path('/images/MessageFromAlumniPresident/'.$filename);
            Image::make($image->getRealPath())->save($path);
        }