Weave Code
Weaver
Helps Laravel developers discover, compare, and choose open-source packages. See popularity, security, maintainers, and scores at a glance to make better decisions.
Feedback
Share your thoughts, report bugs, or suggest improvements.
Subject
Message

File Uploader Bundle Laravel Package

jbouzekri/file-uploader-bundle

A Symfony bundle that streamlines file uploads tied to Doctrine entities, handling storage, file naming, and lifecycle so you can attach and manage uploaded files with minimal boilerplate.

View on GitHub
Deep Wiki
Context7

Product Decisions This Supports

  • Build vs. buy for image-upload UX: This package bundles the commodity parts of "upload + preview + crop + persist" so your team doesn't hand-roll file input handling, image cropping JavaScript, and server-side file lifecycle. It informs the decision of whether cropping is a differentiating feature (build it) or table-stakes plumbing (buy/wrap it).
  • Feature scoping for media-heavy surfaces: Useful as a reference spec for the minimum viable upload experience — AJAX upload with progress, client-side crop with aspect ratio constraints, and server-side storage of both original and cropped variants. That's the requirement set for avatars, product photos, CMS hero images, and marketplace listing images.
  • Time-to-market for internal tools and admin panels: The strongest use case is compressing a sprint of work on a back-office CRUD screen where image quality, CDN delivery, and accessibility of the cropper are not competitive concerns.
  • Roadmap risk input: The package last shipped in January 2018, has 23 stars, zero dependents, and is a Symfony bundle (not Laravel). That combination makes it a non-starter as a strategic dependency and at best a two-day spike or a source of design inspiration. This is a "don't adopt, do borrow the pattern" decision.
  • Stack-fit gate: Since it is a Symfony bundle that aggregates other bundles and libraries, adopting it in a Laravel codebase means carrying an entire foreign framework's bundle wiring plus its transitive dependency graph. The PM decision here is to reject on stack mismatch before engineering spends time on evaluation.
  • Vendor/alternatives landscape: Drives the real decision — for Laravel, compose intervention/image (or Glide) with a modern front-end uploader like FilePond, Uppy, or Cropper.js; for Symfony, look at VichUploaderBundle for persistence and OneupUploaderBundle for the upload endpoint. The value of this package is mostly as a checklist of what those pieces must collectively cover.

When to Consider This Package

Consider it only when all of the following hold:

  • The application is a legacy Symfony 2.x/3.x project already carrying the bundle's dependencies (OneupUploaderBundle, VichUploaderBundle, LiipImagineBundle or similar) and PHP versions in the 5.6–7.x range.
  • You need a low-effort, one-off upload-and-crop widget in an internal admin tool, and a working demo matters more than maintenance guarantees.
  • You have accepted that you will fork and vendor it, because upstream is dormant and no security patching will arrive.
  • The upload volume and image-processing load are modest enough that synchronous crop-and-store on the request path is acceptable.

Look elsewhere when:

  • The stack is Laravel. This is the decisive disqualifier — it's a Symfony bundle, not a Laravel package. No service provider, no config publishing, no facade; you'd be fighting the framework for no benefit.
  • You need supported dependencies, PHP 8.1+, security advisories, or an upgrade path. Nothing has shipped since 2018; the dependency graph is effectively frozen and will conflict with modern Symfony components.
  • Uploads are user-facing at scale: you need async processing, object storage/S3, signed URLs, virus scanning, EXIF stripping, rate limiting, or CDN-backed derivative generation. None of that is in scope here.
  • Accessibility, i18n, or mobile camera capture are requirements — the bundled crop UI is dated and its a11y posture is unknown and unmaintained.
  • You need licensing/IP provenance comfort beyond "MIT and hope" — a meta-package of pinned old bundles makes transitive vulnerability triage your problem.

How to Pitch It (Stakeholders)

To executives (60 seconds): There's an open-source PHP package that provides AJAX image upload with cropping. It's MIT-licensed and free, but it was last updated in 2018, has almost no adoption (23 stars, zero projects depending on it), and — critically — it's built for Symfony, not our Laravel stack. My recommendation is not to adopt it as a dependency. Instead, we treat it as a free requirements template and spend roughly 3–5 engineering days wiring a maintained combination (image processing library + a modern uploader component) into our own codebase. That keeps us on a supported path, avoids inheriting an abandoned dependency tree, and still gets the crop-and-upload feature into the release. Net: no build-vs-buy savings are real here, but the cost of doing it properly is small and bounded.

To engineering: Don't integrate this. It's a Symfony bundle that aggregates older bundles, frozen at a 2018 release with no dependents — the maintenance liability exceeds the ~2 days of code it saves, and it won't survive a PHP/framework upgrade. Two useful things to take from it: (1) its feature surface as a spec — AJAX upload, client-side crop with aspect-ratio constraint, persist original plus cropped derivative; (2) its choice of underlying components as a shortlist. For our Laravel app, the recommended composition is intervention/image for server-side transforms plus FilePond or Cropper.js on the client, with an async job for derivative generation and S3 for storage. If someone wants to validate the UX cheaply, timebox a one-day spike against a throwaway Symfony sandbox — but do not merge it into the product.

Weaver

How can I help you explore Laravel packages today?

Conversation history is not saved when not logged in.
Prompt
Add packages to context
No packages found.
3mdikram/worldmoneywords
snowsoft/config
itmosoft/laravel-subscriptions
larva/laravel-ai-qwen
diephp/sequences
users-au/socialite-provider
twidpay/twid-logger
mrnewport/laravel-plaid
mrnewport/laravel-repo
mrnewport/laravel-docsign
mrnewport/laravel-stow
mrnewport/laravel-flow
mrnewport/laravel-priceable
mrnewport/laravel-nestedterms
fredmeng/laravel-apidoc-generator
itstructure/laravel-multilingual-tools
pdustdar/elasticsearch
markupai/php-sdk
rlacerda83/lumem-microservice-shipment
uni-method/symfony-lib