vish4395/laravel-file-viewer

A basic file viewer for Laravel projects

Installs: 7 907

Dependents: 0

Suggesters: 0

Security: 0

Stars: 118

Watchers: 3

Forks: 23

Open Issues: 2

Language:JavaScript

1.0.3 2025-05-21 22:27 UTC

This package is auto-updated.

Last update: 2025-05-23 14:34:14 UTC


README

Latest Version on Packagist Total Downloads GitHub GitHub Stars Twitter URL

Laravel File Viewer

Laravel File Viewer is the easiest way to preview images, videos, audio, PDF, DOCX, PPTX, XLSX, and more in your Laravel app. Instantly add beautiful file previews to your admin panels, dashboards, or user portals.

✨ Loved by developers. Easy to install. Works out of the box.

🚦 Features

  • πŸ“„ Preview images, videos, audio, PDF, DOCX, PPTX, XLSX, and more
  • ⚑️ Super simple integrationβ€”just one line in your controller!
  • 🎨 Customizable UI (publish and tweak the views)
  • πŸ›‘οΈ Secure: works with Laravel's storage disks
  • 🌍 Multilingual ready

πŸ› οΈ Installation

Install via Composer:

composer require vish4395/laravel-file-viewer

Publish assets:

php artisan vendor:publish --provider="Vish4395\LaravelFileViewer\LaravelFileViewerServiceProvider" --tag=assets

Publish views (optional, for UI customization):

php artisan vendor:publish --provider="Vish4395\LaravelFileViewer\LaravelFileViewerServiceProvider" --tag=views

πŸš€ Quick Start

Add the alias in your config/app.php (Laravel 10 and below):

'aliases' => Facade::defaultAliases()->merge([
    'LaravelFileViewer' => Vish4395\LaravelFileViewer\LaravelFileViewerFacade::class,
])->toArray(),

Example Controller

use Illuminate\Http\Request;
use Vish4395\LaravelFileViewer\LaravelFileViewer;

class FilePreviewController extends Controller
{
    public function filePreview($fileName){
        $filePath = $fileName;
        $disk = 'public';
        $fileUrl = asset('storage/' . $fileName);
        $fileData = [
            [
                'label' => __('Label'),
                'value' => "Value"
            ]
        ];
        return LaravelFileViewer::show($fileName, $filePath, $fileUrl, $disk, $fileData);
    }
}

Add a route in routes/web.php:

Route::get('/file-preview/{fileName}', [FilePreviewController::class, 'filePreview']);

🌟 Why Laravel File Viewer?

  • Save hours: No need to integrate multiple JS libraries yourself.
  • Modern UI: Looks great out of the box.
  • Flexible: Works with any Laravel storage disk.
  • Trusted: Used in production by agencies and startups.

πŸ“ˆ Help Us Grow!

If you find this package useful:

  • ⭐ Star this repo on GitHub
  • πŸ“¦ Try it in your next Laravel project
  • 🐦 Tweet about it @vish4395
  • πŸ’¬ Share feedback and suggestions

πŸ“‹ Changelog

See CHANGELOG for recent updates.

🀝 Contributing

PRs are welcome! See CONTRIBUTING for details. Questions? Email vishal@newai.in or open an issue.

πŸ”’ Security

If you discover any security issues, please email vishal@newai.in instead of using the issue tracker.

πŸ‘ Credits

πŸ“„ License

MIT. See License File for details.

🎬 Demo

AwesomeScreenshot-1_2_2023.1.32.27PM.mp4