簡體   English   中英

laravel 5.2 | 上傳文件-在null上調用成員函數getClientOriginalName()

[英]laravel 5.2 | upload file - Call to a member function getClientOriginalName() on null

我嘗試上傳個人資料圖片pict,但出現錯誤“在null上調用成員函數getClientOriginalName()”

這是我的方法:

  $data = $request->input('fotodosen');
    $photo = $request->file('fotodosen')->getClientOriginalName();
    $destination = base_path() . '/public/uploads';
    $request->file('fotodosen')->move($destination, $photo);
    $data['fotodosen'] = $photo;
    Dosen::create($data);

創造 :

 {!! Form::open(array('fotodosen'=>'create', 'method'=>'POST', 'files'=>true, 'url'=>'uploads')) !!}
             {!! Form::file('image') !!}
                   <div class="form-group">
                        <div class="col-md-6 col-md-offset-4">
                            <button type="submit" class="btn btn-primary">
                                <i class="fa fa-btn fa-user"></i> Register
                            </button>
                             {!! Form::close() !!}

已經將方法編輯為:

 $photo = $request->file('fotodosen')->getClientOriginalName($photo);

仍然有那個錯誤。 我想念什么?

更新:

public function store(CreateDosenRequest $request)

{



    $user = User::create([
        'name' => $request->input('name'),
        'username' => $request->input('username'),
        'email' => $request->input('email'),
        'password' => $request->input('password'),
        'admin' => $request->input('admin'),
     ]);

      $dosen = Dosen::create([
        'iddosen' => $request->input('iddosen'),
        'nipy' => $request->input('nipy'),
        'namadosen' => $user->name,
        'user_id' => $user->id,
        'alamatdosen' => $request->input('alamatdosen'),
        'notelpdosen' => $request->input('notelpdosen'),
        'tempatlahirdosen' => $request->input('tempatlahirdosen'),
        'tanggallahirdosen' => $request->input('tanggallahirdosen'),
        'agamadosen' => $request->input('agamadosen'),

    ]);
        if ($request->hasFile('image')) {
            $data = $request->input('image');
            $photo = $request->file('image')->getClientOriginalName();
            $destination = public_path() . '/uploads/';
            $request->file('image')->move($destination, $photo);
            $data['fotodosen'] = $photo;
            Dosen::create($data);
 }

您將文件名作為image嘗試使用image而不是fotodosen

$photo = $request->file('image')->getClientOriginalName();

完整代碼

$data = $request->input('image');
$photo = $request->file('image')->getClientOriginalName();
$destination = base_path() . '/public/uploads';
$request->file('image')->move($destination, $photo);

您可以檢查文件,例如

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

Http請求laravel 5中的文章文件上傳

我遇到了同樣的問題,因此我使用html表單屬性enctype="multipart/form-data"解決了該問題

<form name="le_form" action="/ft" method="POST" enctype="multipart/form-data">

有關更多信息,請參見

對我來說,我發現我沒有在表單上包含enctype'=>'multipart/form-data 當我這樣做時,它最終解決了問題。

如果您要上傳文件或表單中有文件字段,請執行此操作

 {{  Form::open(array('url' => 'dashboard/new_job', 'enctype'=>'multipart/form-data')) }}

要么

<form  action="/ft" method="POST" enctype="multipart/form-data">

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM