ahmadajah03 Tue Apr 2020 1 year ago

Contoh Image Upload pada Laravel 7

Artikel ini akan memberikan contoh upload gambar di laravel 7. Pada artikel ini, kami akan menerapkan upload gambar 7 laravel. Anda dapat melihat laravel 7 upload gambar ke database. ini adalah contoh sederhana tentang cara upload dan menampilkan gambar di laravel 7. Anda akan melakukan hal-hal berikut untuk unggah gambar 7 laravel.

Dalam contoh ini, kita akan membuat dua route satu untuk metode get dan satu lagi untuk metode post. kami membuat form sederhana dengan input file. Jadi Anda harus memilih gambar yang sederhana dan kemudian akan meng-uploadnya di "gambar" direktori folder public. Jadi, Anda harus mengikuti langkah di bawah ini untuk membuat upload gambar di aplikasi laravel 7.

Langkah 1: Instal Laravel 7

Pertama-tama, kita perlu mendapatkan aplikasi versi laravel 7 baru menggunakan perintah di bawah karena kita akan dari awal, Jadi buka terminal ATAU command prompt Anda dan jalankan perintah di bawah ini:

composer create-project --prefer-dist laravel/laravel blog

Langkah 2: Buat Routes

Pada langkah selanjutnya, kita akan menambahkan dua route baru dalam file web.php. Satu route untuk menampilkan formulir dan lainnya untuk metode posting Jadi mari kita buat kedua route seperti yang tercantum di bawah ini:

routes/web.php

Route::get('image-upload', 'ImageUploadController@imageUpload')->name('image.upload');
Route::post('image-upload', 'ImageUploadController@imageUploadPost')->name('image.upload.post');

Langkah 3: Buat ImageUploadController

Pada langkah ketiga kita harus membuat ImageUploadController baru dan di sini kita harus menulis dua metode imageUpload () dan imageUploadPost (). Jadi satu metode akan menangani metode get yang lain untuk posting. Jadi mari kita tambahkan kode.

app/Http/Controllers/ImageUploadController.php

<?php
   
namespace App\Http\Controllers;
  
use Illuminate\Http\Request;
  
class ImageUploadController extends Controller
{
    /**
     * Display a listing of the resource.
     *
     * @return \Illuminate\Http\Response
     */
    public function imageUpload()
    {
        return view('imageUpload');
    }
  
    /**
     * Display a listing of the resource.
     *
     * @return \Illuminate\Http\Response
     */
    public function imageUploadPost(Request $request)
    {
        $request->validate([
            'image' => 'required|image|mimes:jpeg,png,jpg,gif,svg|max:2048',
        ]);
  
        $imageName = time().'.'.$request->image->extension();  
   
        $request->image->move(public_path('images'), $imageName);
   
        return back()
            ->with('success','You have successfully upload image.')
            ->with('image',$imageName);
   
    }
}

Langkah 3: Buat File Blade

Pada langkah terakhir kita perlu membuat file imageUpload.blade.php dan dalam file ini kita akan membuat form dengan tombol input file. Jadi salin ke bawah dan letakkan di file itu.

resources/views/imageUpload.blade.php

<!DOCTYPE html>
<html>
<head>
  <title>laravel 7 image upload example - Medikre.com.com</title>
    <link rel="stylesheet" href="http://getbootstrap.com/dist/css/bootstrap.css">
</head>
  
<body>
<div class="container">
   
    <div class="panel panel-primary">
    <div class="panel-heading"><h2>laravel 7 image upload example - Medikre.com</h2></div>
      <div class="panel-body">
   
        @if ($message = Session::get('success'))
        <div class="alert alert-success alert-block">
            <button type="button" class="close" data-dismiss="alert">×</button>
                <strong>{{ $message }}</strong>
        </div>
        <img src="images/{{ Session::get('image') }}">
        @endif
  
        @if (count($errors) > 0)
            <div class="alert alert-danger">
                <strong>Whoops!</strong> There were some problems with your input.
                <ul>
                    @foreach ($errors->all() as $error)
                        <li>{{ $error }}</li>
                    @endforeach
                </ul>
            </div>
        @endif
  
        <form action="{{ route('image.upload.post') }}" method="POST" enctype="multipart/form-data">
            @csrf
            <div class="row">
  
                <div class="col-md-6">
                    <input type="file" name="image" class="form-control">
                </div>
   
                <div class="col-md-6">
                    <button type="submit" class="btn btn-success">Upload</button>
                </div>
   
            </div>
        </form>
  
      </div>
    </div>
</div>
</body>
  
</html>

Langkah 4: Buat Direktori "image"

pada langkah terakhir, kita perlu membuat direktori baru "image" dengan izin penuh, Jadi mari kita buat folder baru di folder public.

Setelah itu kamu bisa memeriksanya.

Saya harap ini dapat membantu Anda ...

upload image laravel laravel