Laravel Basic
Laravel Form
Laravel Database
Laravel Advance
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), ]); } }
In routes/api.php
:
use App\Http\Controllers\Api\UploadController; Route::post('/upload', [UploadController::class, 'store']);
Fill form data in postman
{ "message": "File uploaded successfully", "name": "John", "file_url": "http://127.0.0.1:8000/uploads/1756831472_image1.jpg" }