Laravel 9에서 이미지를 업로드하는 방법은 무엇입니까?

이번 포스트에서는 라라벨에서 이미지 업로드에 대한 모든 것을 설명하려고 합니다.

코드 편집기에서 코드 프로젝트를 연 후 & 아래 단계를 따르십시오.

1 단계



아래 명령을 실행하여 모든 이미지 업로드 작업을 처리할 컨트롤러를 만듭니다.

php artisan make:controller ImageController


이렇게 하면 app\Http\Controllers 폴더 안에 컨트롤러가 생성됩니다.

이제 다음 코드로 컨트롤러를 업데이트하십시오.

<?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단계



이제 보기 파일을 만들고 resources/views 폴더를 열고 image-form.blade.php라는 파일을 만들고 아래 코드로 파일을 업데이트할 차례입니다.

@extends('app')

@section('content')

    <!-- Container (Contact Section) -->
    <div id="contact" class="container">
        <h1 class="text-center" style="margin-top: 100px">Image Upload</h1>

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

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

        <form method="POST" action="{{ route('image.store') }}" enctype="multipart/form-data">
            @csrf
            <input type="file" class="form-control" name="image" />

            <button type="submit" class="btn btn-sm">Upload</button>
        </form>

    </div>
@endsection


이제 브라우저로 이동하여 /image-upload를 방문하면 이미지 업로드 옵션이 표시됩니다.



이미지를 선택하고 업로드하면 이미지와 함께 성공 메시지가 표시됩니다.



여기에서 Youtube에서 완전한 비디오 자습서를 얻을 수 있습니다.



구현하는 동안 문제가 발생하면 질문을 댓글로 남겨주세요.

읽어 주셔서 감사합니다

나에게 연락하십시오.

좋은 웹페이지 즐겨찾기