อัปโหลดและจัดการไฟล์และรูปภาพใน 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 ขั้นแรก ติดตั้งแพ็คเกจ Intervention Image ผ่าน Composer:

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 วิธีการช่วยเหลือของ 's เพื่อสร้าง URL สาธารณะสำหรับไฟล์และรูปภาพที่เก็บไว้ และใช้ใน HTML หรือ CSS

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

 

คุณสามารถใช้ $url ตัวแปรใน HTML หรือ CSS เพื่อแสดงไฟล์หรือภาพที่อัปโหลด

 

เมื่อทำตามขั้นตอนเหล่านี้และใช้ Laravel คุณลักษณะในตัวของ ' คุณสามารถอัปโหลดและจัดการไฟล์และรูปภาพใน Laravel แอปพลิเคชัน ของคุณได้อย่างง่ายดาย