0

I try to make an update that also can include image, but the image passed as string not file / binary

dd($request->image); i tried to dump request->image but the result is

"Busi-Spark-Plug.jpg"

it should be file or binary

This is my blade.php:

@foreach($sparepart as $s)
    <form class="ui form" action="/sparepart/update" method="post">
        {{method_field('PATCH')}}
        {{ csrf_field() }}          
        Kode <input type="text" name="kode_sparepart" required="required" maxlength="15" value="{{old('kode_sparepart',$s->kode_sparepart)}}" disabled> <br/><br>
        Nama <input type="text" name="nama_sparepart" required="required" maxlength="100" value="{{old('nama_sparepart',$s->nama_sparepart)}}"> <br/><br>
        Merk <input type="text" name="merk_sparepart" required="required" maxlength="100" value="{{old('merk_sparepart',$s->merk_sparepart)}}"> <br/><br>
        Tipe <input type="text" name="tipe_sparepart" required="required" maxlength="20" value="{{old('tipe_sparepart',$s->tipe_sparepart)}}"> <br/><br>
        Harga Beli <input type="number" name="harga_beli" required="required" maxlength="10" min="0" value="{{old('harga_beli',$s->harga_beli)}}"> <br/><br>
        Harga Jual <input type="number" name="harga_jual" required="required" maxlength="10" min="0" value="{{old('harga_jual',$s->harga_jual)}}"> <br/><br>
        Jumlah Stok <input type="number" name="jumlah_sparepart" required="required" maxlength="10" min="0" value="{{old('jumlah_sparepart',$s->jumlah_sparepart)}}"> <br/><br>
        Stok Minimum <input type="number" name="stok_minimum" required="required" maxlength="10" min="0" value="{{old('stok_minimum',$s->stok_minimum)}}"> <br/><br>
        Letak Sparepart <input type="text" name="letak_sparepart" required="required" maxlength="12" value="{{old('letak_sparepart',$s->letak_sparepart)}}"> <br/><br>
        Gambar<br/>
        <div class="input-group control-group increment" >
            <input type="file" name="image" class="form-control">
        </div>
        <br><br>
        <input class="ui tiny green button" type="submit" value="Simpan Data">
        <a class="ui tiny red button" href="/sparepart"> Kembali</a>
    </form>
@endforeach 

This is SparepartController:

public function update(Request $request)
{
    dd($request->image);
    $gbsparepart = new Sparepart;

    if($request->hasfile('image'))
    {
        $gambar_sparepart=$request->file('image');
        $name=time().$gambar_sparepart->getClientOriginalName();
        $gambar_sparepart->move(public_path().'/images/', $name);  
        $gbsparepart->gambar_sparepart = $name;  
    }
    else
    {
        $gbsparepart->gambar_sparepart = 'GAGAL Gambar';
    }

    $sparepart = new Sparepart;
    $sparepart = Sparepart::where('kode_sparepart',$request->kode_sparepart)->update([
    'nama_sparepart' => $request->nama_sparepart,
    'merk_sparepart' => $request->merk_sparepart,
    'tipe_sparepart' => $request->tipe_sparepart,
    'harga_beli' => $request->harga_beli,
    'harga_jual' => $request->harga_jual,
    'jumlah_sparepart' => $request->jumlah_sparepart,
    'stok_minimum' => $request->stok_minimum,
    'letak_sparepart' => $request->letak_sparepart,
    'gambar_sparepart' => $gbsparepart->gambar_sparepart
    ]);
     return redirect('/sparepart');         
}

1 Answer 1

3

First of all on your form, you are missing the enctype attribute which will fail to upload the image: so change your form to this:

<form class="ui form" action="/sparepart/update" method="post" enctype="multipart/form-data">

Then in order to get the file from the request, you should use:

dd($request->file('image'));

next the method to check is hasFile instead of hasfile it is case-sensitive so watch out on that.

Sign up to request clarification or add additional context in comments.

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.