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
Laravel Qcs

Laravel Qcs Laravel Package

overtrue/laravel-qcs

Laravel integration for Qiniu Cloud Storage (QCS) that adds a Qiniu filesystem driver, letting you store, retrieve, and manage files on Qiniu through Laravel's Storage facade. Simple configuration and a familiar API make it easy to offload uploads and assets to the cloud.

View on GitHub
Deep Wiki
Context7

腾讯云内容安全(文字图片内容审核)服务

Frequently asked questions about Laravel Qcs
What is overtrue/laravel-qcs used for?
It is a Laravel integration for Tencent Cloud content safety (QCS), which moderates text and images for unwanted material such as pornography, terrorism, political sensitivity, and ad spam. The package exposes the service through Laravel conventions, including tms and ims validation rules you can attach to form request fields. Version 5.0.0 targets modern Laravel 13 applications on PHP 8.3 or newer.
How do I install overtrue/laravel-qcs in a Laravel app?
Install it with Composer using composer require overtrue/laravel-qcs, then publish the package configuration and add your Tencent Cloud credentials, such as SecretId, SecretKey, and region, to your environment file. Laravel package discovery registers the service provider automatically, but you should still run php artisan config:clear and config:cache after changing credentials. Keep the credentials out of version control by using .env values.
Which Laravel and PHP versions does version 5.0 require?
Version 5.0.0 requires PHP 8.3 or newer and Laravel 13, and it depends on Intervention Image 4. The CI matrix covers PHP 8.3, 8.4, and 8.5, so the package is only validated on that modern stack. Applications on older PHP or older Laravel releases should stay on the previous major for now.
How do I use the tms and ims validation rules in a form request?
Add tms to text fields and ims to uploaded image fields in your validation rules, for example 'content' => ['required', 'string', 'tms'] and 'image' => ['required', 'file', 'ims']. When Tencent Cloud flags the content, the rule fails and the user gets a standard validation error you can localize. This keeps moderation in the same place as your other input validation instead of scattering service calls through controllers.
Why are my tms and ims validation rules not working on first use?
Release 5.0.0 fixes first-use registration of the tms and ims validation rules, which is the stated purpose of that change rather than any moderation behavior change. After upgrading, clear config and caches, then exercise the rules on a cold start so the provider is resolved before the first request hits validation. Cover that cold-start path in a feature test so it cannot regress silently.
Does the package require Intervention Image 4, and should I use GD or Imagick?
Yes, version 5.0.0 is built against Intervention Image 4, so any application code still calling the Intervention Image 2 API must be migrated first. The test suite covers both GD and Imagick, including PNG and JPEG encoding, and the documentation does not appear to name a single officially preferred driver. Test with whichever driver your production environment actually runs, since output and memory behavior can differ.
Can I upgrade from the previous major version without changing my application code?
No, 5.0.0 is a deliberately breaking release with no backward compatibility for the old stack. You need PHP 8.3 or newer, Laravel 13, Intervention Image 4, removal of the old ImageServiceProvider registration, and regression testing of your image paths. Run the framework upgrade, then the image library migration, then the package upgrade, each on its own branch.
How should I handle image size before sending content for moderation?
Moderating large originals costs more CPU and memory and adds latency, so resize uploads before the check. The 5.0 test suite specifically covers 300px proportional scaling plus PNG and JPEG encoding, which is a reasonable default for moderation inputs. You can do the resize inside the package's image service or with Intervention Image 4 directly before invoking the rule.
How do I test content moderation without calling the real Tencent Cloud API?
Add feature tests around the tms and ims rules, and stub the underlying client through the container or swap in a fake implementation if you need to keep CI offline. The package's own pipeline, with 26 tests and 96 assertions across PHP 8.3 to 8.5 and both GD and Imagick, reduces package-level uncertainty but does not replace application-specific regression tests. Also assert that the rules resolve on a cold start and that no container binding conflicts remain after removing the old image provider.
Is overtrue/laravel-qcs still maintained, and what are the alternatives if I cannot move to Laravel 13?
Version 5.0.0 aligns the package with a modern support window, PHP 8.3+ and Laravel 13, which is good long-term maintenance for shops already on that stack. No backport policy is documented for users who cannot upgrade, so the practical option is to pin the previous major and plan a separate upgrade track. If you need text and image moderation on an older Laravel release, evaluating the Tencent Cloud SDK directly or another maintained wrapper is reasonable.
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.
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
tacticmedia/scim-server-bundle
neika-ai/symfony-bundle
mattleads/agent-publishing-bundle
glavweb/framework-bundle
glavweb/extra-bundle
glavweb/api-bundle
glavweb/admin-bundle