Looking to hire Laravel developers? Try LaraJobs

laravel-file-viewer maintained by shamseer1997

Description
A basic file viewer for Laravel projects
Author
Last update
2025/06/24 15:09 (dev-master)
License
Downloads
3

Comments
comments powered by Disqus

🚀 Laravel File Viewer

Latest Version on Packagist Total Downloads GitHub GitHub Stars

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 shamseer1997/laravel-file-viewer

Publish assets:

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

Publish views (optional, for UI customization):

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

🚀 Quick Start

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

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

Example Controller

use Illuminate\Http\Request;
use shamseer1997\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
  • 💬 Share feedback and suggestions

📋 Changelog

See CHANGELOG for recent updates.


🤝 Contributing

PRs are welcome! See CONTRIBUTING for details. Questions? Email hsvirus2015@gmail.com or open an issue.


🔒 Security

If you discover any security issues, please email hsvirus2015@gmail.com instead of using the issue tracker.


👏 Credits


📄 License

MIT. See License File for details.


🎬 Demo

https://user-images.githubusercontent.com/12929023/210215225-000507cf-d8f4-4e5b-b7ad-ad6a2276ac93.mp4