cara upload gambar di laravel

gan saya mau nanya nih gimana caranya upload banyak gambar sekaligus? gambarnya itu harus masuk ke satu field aja, tapi bentuknya array. misalkan satu user punya banyak rumah, terus foto rumahnya itu masing-masing diupload tapi harus masuk ke satu record user, sehingga bentuk hasilnya di database kurang lebih [rumah1, rumah2, rumah3].

saya sebelumnya sudah buat upload gambarnya dan berhasil, tapi cuma bisa untuk simpan satu gambar tidak bisa untuk lebih dari satu. saya cuma merubah coding di viewnya, nama input gambarnya saya rubah menjadi kira-kira rumah_user[].

tapi ketika saya coba input gambarnya, error yang muncul seperti ini:

 Call to a member function move() on array

ini coding controllernya untuk simpan data:

 $file = $request->file('rumah_user');
        $destinationPath = 'uploads';
        $file->move($destinationPath,$file->getClientOriginalName());

mohon bantuannya gan

avatar syecharbha
@syecharbha

44 Kontribusi 1 Poin

Diperbarui 5 tahun yang lalu

5 Jawaban:

Kalo di looping dulu arraynya, terus simpan/panggil move satu2 di dalem looping, gimana gan? Di coba dulu aja, si function move gak bisa baca string, dan dia cuma bisa baca satu input2an.

avatar beckbella
@beckbella

68 Kontribusi 38 Poin

Dipost 5 tahun yang lalu

foreach nya di bagian mananya gan? saya udah pernah coba looping, tapi yang kesimpen malah cuma satu, data pertama doang

avatar syecharbha
@syecharbha

44 Kontribusi 1 Poin

Dipost 5 tahun yang lalu

coba di var dump dulu arraynya, jangan2 si array cuma ngisi satu nama upload file.

avatar beckbella
@beckbella

68 Kontribusi 38 Poin

Dipost 5 tahun yang lalu

sudah di dump juga hasilnya semua gambar masuk

avatar syecharbha
@syecharbha

44 Kontribusi 1 Poin

Dipost 5 tahun yang lalu

Jawaban Terpilih

file uploaded nya dibuat array. <pre> &lt;input required type="file" class="form-control" name="images[]" placeholder="address" multiple&gt; </pre> nah untuk dicontrollernya <pre> public function store(request $request) {

$input=$request-&amp;gt;all();
$images=array();
if($files=$request-&amp;gt;file(&#039;images&#039;)){
    foreach($files as $file){
        $name=$file-&amp;gt;getClientOriginalName();
        $file-&amp;gt;move(&#039;image&#039;,$name);
        $images[]=$name;
    }
}
/*Insert your data*/

Detail::insert( [
    &#039;images&#039;=&amp;gt;  implode(&quot;|&quot;,$images),
    &#039;description&#039; =&amp;gt;$input[&#039;description&#039;],
    //you can put other insertion here
]);


return redirect(&#039;redirecting page&#039;);

} </pre> sumber https://stackoverflow.com/questions/42643265/how-to-upload-multiple-image-in-laravel

avatar bosque
@bosque

187 Kontribusi 104 Poin

Dipost 5 tahun yang lalu

Tanggapan

Dengan cara ini sy sudah brhasil save, tapi ktika sy mau nampilin di front endnya ga bisa.

saya coba sperti ini {{ asset('admin/galeri/'.$lelang->photos) }}

yg benar gmn ya ?

Login untuk ikut Jawaban