Laravel 8 이미지 업로드 예제 튜토리얼
이 게시물에서는 Laravel 8에서 이미지를 업로드하는 방법의 예를 공유할 것입니다. Laravel 애플리케이션을 개발할 때 이미지 업로드 기능은 항상 존재합니다. 일반적으로 사용자는 일부 확인 목적으로 프로필 사진을 업로드해야 합니다. 또는 Laravel 애플리케이션용 갤러리 모듈. 그래서 이번 예제에서는 Laravel 이미지 업로드에 대한 예제를 보여드리겠습니다.
1단계: 라라벨 설치
로컬에 Laravel 8이 설치되어 있지 않은 경우 아래 명령을 실행하십시오.
composer create-project --prefer-dist laravel/laravel image-upload
2단계: 컨트롤러 만들기
다음으로 Laravel 이미지 업로드를 위한 컨트롤러를 생성합니다. 다음 artisan 명령을 실행합니다.
php artisan make:controller ImageUploadController
3단계: 경로 생성
다음으로 경로를 추가합니다. route/web.php를 탐색하고 다음 코드를 추가합니다.
<?php
use Illuminate\Support\Facades\Route;
/*
|--------------------------------------------------------------------------
| Web Routes
|--------------------------------------------------------------------------
|
| Here is where you can register web routes for your application. These
| routes are loaded by the RouteServiceProvider within a group which
| contains the "web" middleware group. Now create something great!
|
*/
Route::group(['namespace' => 'App\Http\Controllers'], function()
{
Route::get('/image-upload', 'ImageUploadController@index')->name('image-upload.index');
Route::post('/image-upload', 'ImageUploadController@upload')->name('image-upload.post');
});
4단계: 컨트롤러 방법 설정
이제 Laravel 이미지 업로드 컨트롤러의 메서드를 생성해 보겠습니다.
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use App\Http\Requests\ImageUploadRequest;
class ImageUploadController extends Controller
{
public function index()
{
return view('image-upload.index');
}
public function upload(ImageUploadRequest $request)
{
$filename = time() . '.' . $request->image->extension();
$request->image->move(public_path('images'), $filename);
// save uploaded image filename here to your database
return back()
->with('success','Image uploaded successfully.')
->with('image', $filename);
}
}
5단계: Laravel 이미지 업로드 요청 생성
다음으로 유효성 검사 요청을 추가합니다. 다음 명령을 실행합니다.
php artisan make:request ImageUploadRequest
6단계: 보기 추가
다음으로 이미지 업로드 index.blade.php에 대한 보기를 추가합니다. resources/views/디렉터리를 탐색한 다음 이미지 업로드 폴더를 만듭니다.
그런 다음 index.blade.php 파일을 생성하십시오(아래 코드 참조).
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<meta name="csrf-token" content="{{ csrf_token() }}">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<title>Laravel 8 Image Upload Example - codeanddeploy.com</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/[email protected]/dist/css/bootstrap.min.css">
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/js/bootstrap.bundle.min.js"></script>
</head>
<body>
<div class="container mt-5">
@if(Session::get('success', false))
<?php $data = Session::get('success'); ?>
@if (is_array($data))
@foreach ($data as $msg)
<div class="alert alert-success" role="alert">
<i class="fa fa-check"></i>
{{ $msg }}
</div>
@endforeach
@else
<div class="alert alert-success" role="alert">
<i class="fa fa-check"></i>
{{ $data }}
</div>
@endif
<img src="images/{{ Session::get('image') }}" width="200px">
@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">
@if ($errors->has('image'))
<span class="text-danger text-left">{{ $errors->first('image') }}</span>
@endif
</div>
<div class="col-md-6">
<button type="submit" class="btn btn-success">Upload</button>
</div>
</div>
</form>
</div>
</body>
</html>
이제 테스트해 보세요. 아래 명령을 실행하십시오.
php artisan serve
그런 다음 브라우저에 다음 URL을 누르십시오. http://127.0.0.1:8000/image-upload
이제 Laravel 8에서 이미지를 업로드하는 간단한 기능이 있습니다. 이 튜토리얼이 도움이 되었으면 합니다. 이 코드를 다운로드하려면 여기https://codeanddeploy.com/blog/laravel/tutorial-for-laravel-8-image-upload-example를 방문하십시오.
행복한 코딩 :)
Reference
이 문제에 관하여(Laravel 8 이미지 업로드 예제 튜토리얼), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/codeanddeploy/tutorial-for-laravel-8-image-upload-example-5ehk텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)