Почему мой запрос-> изображение является строкой, а не двоичным - PullRequest
0 голосов
/ 23 апреля 2019

Я пытаюсь сделать обновление, которое также может включать изображение, но изображение передается в виде строки, а не файла / двоичного файла

dd ($ request-> image);я пытался сбросить запрос-> изображение, но в результате

"Busi-Spark-Plug.jpg"

это должен быть файл или двоичный файл

Это мой 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 

Это 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 Ответ

3 голосов
/ 23 апреля 2019

Прежде всего, в вашей форме вам не хватает атрибута enctype, который не сможет загрузить изображение: поэтому измените свою форму следующим образом:

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

Затем, чтобы получить файл из запроса, вы должны использовать:

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

следующий метод проверки - hasFile вместо hasfile, он чувствителен к регистру, так что следите за этим.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...