파일 및 이미지 업로드 및 처리 Laravel

양식에 업로드 필드 정의

먼저 <input type="file"> 사용자가 업로드할 파일이나 이미지를 선택할 수 있도록 HTML 양식에 필드를 추가합니다.

<form method="POST" action="{{ route('upload') }}" enctype="multipart/form-data">  
    @csrf  
    <input type="file" name="file">  
    <button type="submit">Upload</button>  
</form>  

 

업로드 요청 처리

컨트롤러 에서는 Laravel 메서드에서 업로드 요청을 처리할 수 있습니다. 개체를 사용하여 Illuminate\Http\Request 업로드된 파일에 액세스하고 필요한 처리 작업을 수행합니다.

use Illuminate\Http\Request;  
  
public function upload(Request $request)  
{  
    if($request->hasFile('file')) {  
        $file = $request->file('file');  
        // Handle the file here  
    }  
}  

 

파일 저장

Laravel store 업로드된 파일을 저장하는 방법을 제공합니다. 파일 개체에서 이 메서드를 호출하고 원하는 저장 경로를 제공하기만 하면 됩니다.

$path = $file->store('uploads');

 

이미지 처리

크기 조정, 자르기 또는 필터 적용과 같은 이미지를 처리해야 하는 경우 Intervention Image와 같은 이미지 처리 라이브러리를 사용할 수 있습니다. 먼저 Composer를 통해 Intervention Image 패키지를 설치합니다.

composer require intervention/image

그런 다음 라이브러리의 메서드를 사용하여 이미지를 처리할 수 있습니다.

use Intervention\Image\Facades\Image;  
  
public function upload(Request $request)  
{  
    if($request->hasFile('file')) {  
        $file = $request->file('file');  
        $image = Image::make($file);  
        // Handle the image here  
    }  
}  

 

업로드된 파일 및 이미지 표시

마지막으로 업로드된 파일과 이미지를 사용자 인터페이스에 표시할 수 있습니다. 의 도우미 메서드를 사용하여 Laravel 저장된 파일 및 이미지에 대한 공개 URL을 생성하고 HTML 또는 CSS에서 사용합니다.

$url = asset('storage/'. $path);

 

$url HTML 또는 CSS의 변수를 사용하여 업로드된 파일 또는 이미지를 표시 할 수 있습니다 .

 

이러한 단계를 따르고 의 Laravel 내장 기능을 활용하면 Laravel 애플리케이션에서 파일과 이미지를 쉽게 업로드하고 처리할 수 있습니다.