Laravel Chunked File Upload with Validation

Laravel Chunked File Upload with Validation

Laravel Chunked File Upload with Validation

This snippet shows a clean controller method for handling file uploads with full validation.

// routes/web.php
Route::post('/upload', [UploadController::class, 'store'])->name('upload.store');

// app/Http/Requests/UploadFileRequest.php
class UploadFileRequest extends FormRequest
{
    public function rules(): array
    {
        return [
            'file' => ['required', 'file', 'max:10240', 'mimes:pdf,jpg,png,zip'],
        ];
    }
}

// app/Http/Controllers/UploadController.php
class UploadController extends Controller
{
    public function store(UploadFileRequest $request): RedirectResponse
    {
        $path = $request->file('file')->store(
            'uploads/' . now()->format('Y/m'),
            'public'
        );

        // $path => "uploads/2025/05/randomname.pdf"

        return back()->with('success', 'File uploaded successfully.');
    }
}
All Comments