Laravel Form & File Upload

Create Controller

Run:

php artisan make:controller Api/UploadController

Inside app/Http/Controllers/Api/UploadController.php:

<?php
namespace App\Http\Controllers\Api;

use App\Http\Controllers\Controller;
use Illuminate\Http\Request;

class UploadController extends Controller
{
    public function store(Request $request)
    {
        // ✅ Validate form fields + file
        $request->validate([
            'name' => 'required|string|max:255',
            'file' => 'required|file|mimes:jpg,png,pdf|max:2048',
        ]);

        // Get file
        $file = $request->file('file');

        // Generate unique name
        $filename = time().'_'.$file->getClientOriginalName();

        // Move to public/uploads
        $file->move(public_path('uploads'), $filename);

        return response()->json([
            'message' => 'File uploaded successfully',
            'name'    => $request->name,
            'file_url' => url('uploads/'.$filename),
        ]);
    }
}

Create Route

In routes/api.php:

use App\Http\Controllers\Api\UploadController;

Route::post('/upload', [UploadController::class, 'store']);

Form data in postman

Fill form data in postman

Output:

{
  "message": "File uploaded successfully",
  "name": "John",
  "file_url": "http://127.0.0.1:8000/uploads/1756831472_image1.jpg"
}

Whereisstuff is simple learing platform for beginer to advance level to improve there skills in technologies.we will provide all material free of cost.you can write a code in runkit workspace and we provide some extrac features also, you agree to have read and accepted our terms of use, cookie and privacy policy.
© Copyright 2024 www.whereisstuff.com. All rights reserved. Developed by whereisstuff Tech.