آموزش آپلود تصویر در لاراول با نمونه کد

آموزش آپلود تصویر در لاراول با نمونه کد
آموزش آپلود تصویر در لاراول با نمونه کد

در این پست، قصد دارم در مورد آپلود تصویر در لاراول توضیح دهم.

پس از نصب لاراول، پروژه کد را در ویرایشگر کد باز کنید و مراحل زیر را دنبال کنید.

مرحله - 1

برای کنترل تمام عملیات آپلود تصویر، با اجرای دستور زیر یک کنترلر ایجاد کنید.

php artisan make:controller ImageController

این دستور فایل Controller را در مسیر app\Http\Controllers ایجاد می کند.

حالا کدهای زیر را داخل ImageController قرار دهید.

<?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;

class ImageController extends Controller
{
    // View File To Upload Image
    public function index()
    {
        return view('image-form');
    }

    // Store Image
    public function storeImage(Request $request)
    {
        $request->validate([
            'image' => 'required|image|mimes:png,jpg,jpeg|max:2048'
        ]);

        $imageName = time().'.'.$request->image->extension();

        // Public Folder
        $request->image->move(public_path('images'), $imageName);

        // //Store in Storage Folder
        // $request->image->storeAs('images', $imageName);

        // // Store in S3
        // $request->image->storeAs('images', $imageName, 's3');

        //Store IMage in DB 


        return back()->with('success', 'Image uploaded Successfully!')
        ->with('image', $imageName);
    }
}

مرحله - 2

مرحله بعد، به روزرسانی مسیرهاست. برای به روزرسانی آن، فایل `routes/web.php` را باز کرده و مسیرهای زیر را اضافه کنید.

Route::controller(ImageController::class)->group(function(){
    Route::get('/image-upload', 'index')->name('image.form');
    Route::post('/upload-image', 'storeImage')->name('image.store');
});

مرحله - 3

حالا زمان ایجاد یک فایل view می باشد؛ وارد مسیر `resources/views` بشوید و یک فایل جدید به نام `image-form.blade.php` ایجاد کنید.

@extends('app')

@section('content')

    <!-- Container (Contact Section) -->
    <div id=&quotcontact&quot class=&quotcontainer&quot>
        <h1 class=&quottext-center&quot style=&quotmargin-top: 100px&quot>Image Upload</h1>

        @if ($message = Session::get('success'))
            <div class=&quotalert alert-success alert-block&quot>
                <strong>{{$message}}</strong>
            </div>

            <img src=&quot{{ asset('images/'.Session::get('image')) }}&quot />
        @endif

        <form method=&quotPOST&quot action=&quot{{ route('image.store') }}&quot enctype=&quotmultipart/form-data&quot>
            @csrf
            <input type=&quotfile&quot class=&quotform-control&quot name=&quotimage&quot />

            <button type=&quotsubmit&quot class=&quotbtn btn-sm&quot>Upload</button>
        </form>

    </div>
@endsection

اگر به مرورگر خود رفته و به /image-upload بروید، گزینه آپلود تصویر را خواهید دید.

آپلود عکس
آپلود عکس

هنگامی که تصویری را انتخاب و آپلود کنید، پیام موفقیت آمیز با تصویر را خواهید دید.

عکس آپلود شده
عکس آپلود شده

امیدوارم که این مقاله مورد استفاده شما قرار گرفته باشد، اگر در حین پیاده‌سازی با مشکل مواجه شدید، لطفاً سوال خود را در قسمت نظرات مطرح کنید.

منبع: وبسایت میموک