Cara mengatasi error Call to a member function getClientOriginalName() on null

Hi..

saya sedang membuat aplikasi sederhana untuk eksport import tetapi ketika akan import mengalami erorr Call to a member function getClientOriginalName() on null, mohon bantuannya....

Web.php

Route::post('/importpengurus', 'PengurusController@pengurusimportexcel')->name('importpengurus');

PengurusController

namespace App\Http\Controllers;

use Illuminate\Http\Request;
use App\Models\Pengurus;
use App\Exports\PengurusExport;
use App\Imports\PengurusImports;
use Maatwebsite\Excel\Facades\Excel;
use App\Http\Controllers\Controller;
public function pengurusimportexcel(Request $request){
        $file = $request->file('upload_file');
        $namaFile = $file->getClientOriginalName();
        $file->move('DataEkstra', $namaFile);

        Excel::import(new PengurusImport, public_path('/DataEkstra/'.$namaFile));
        return redirect('/Pengurus');
    }

Pengurus.blade

<div class="modal fade" id="exampleModal" tabindex="-1" role="dialog" aria-labelledby="exampleModalLabel" aria-hidden="true">
  <div class="modal-dialog" role="document">
    <div class="modal-content">
      <div class="modal-header">
        <h5 class="modal-title" id="exampleModalLabel">Import Data</h5>
        <button type="button" class="close" data-dismiss="modal" aria-label="Close">
          <span aria-hidden="true">&times;</span>
        </button>
      </div>
      <form action="{{ route('importpengurus')}}" method="post" enctype="multipart/form-data">
      <div class="modal-body">
          <div classs="form-group">
          {{ csrf_field() }}
            <input type="file" required="required">

PengurusImport

<?php

namespace App\Imports;

use App\Models\Pengurus;

use Maatwebsite\Excel\Concerns\ToModel;

class PengurusImport implements ToModel
{
    /**
    * @param array $row
    *
    * @return \Illuminate\Database\Eloquent\Model|null
    */
    public function model(array $row)
    {
        return new Pengurus([
            'nama' => $row[1],
            'kelas' => $row[2],
            'jabatan' => $row[3],
        ]);
    }
}

      </div>
      <div class="modal-footer">
        <button type="button" class="btn btn-secondary" data-dismiss="modal">Close</button>
        <button type="submit" class="btn btn-primary">Import</button>
      </div>
    </div>
    </form>
  </div>
</div>
avatar chrrriann
@chrrriann

14 Kontribusi 2 Poin

Diperbarui 1 tahun yang lalu

1 Jawaban:

<div>Bagian ini :</div><pre>&lt;input type="file" required="required"&gt;</pre><div>Coba dikasih attribtue "name" -nya seperti ini misalkan :</div><pre>&lt;input type="file" name="upload" required="required"&gt;</pre><div><br>Kemudian di file Controller-nya bisa kita akses seperti ini :</div><pre>public function pengurusimportexcel(Request $request){

// Mengecek apakah ada input file dengan attribute name &quot;upload&quot; yang dikirim melalui form
if ($request-&amp;gt;hasFile(&#039;upload&#039;)) {

    // Ambil nilai/isi dari file upload tersebut
    $file = $request-&amp;gt;file(&#039;upload&#039;);
    
    ....
}

}</pre><div><br>Semoga berhasil.</div>

avatar ahanafi
@ahanafi

815 Kontribusi 552 Poin

Dipost 1 tahun yang lalu

Tanggapan

udah di tambahin tapi malah error lagi Class 'App\Http\Controllers\PengurusImport' not found

Pastikan sudah diimport namespace class PengurusImport -nya

Login untuk ikut Jawaban