overtrue / laravel-uploader
Laravel 的上传组件。
3.2.0
2024-03-13 05:09 UTC
Requires
- ext-json: *
- laravel/framework: ^9.0|^10.0|^11.0
Requires (Dev)
- brainmaestro/composer-git-hooks: dev-master
- laravel/pint: ^1.5
- mockery/mockery: ^1.5
- phpunit/phpunit: ^10.0
README
🌴 Laravel 的上传组件。
安装
-
安装包
$ composer require overtrue/laravel-uploader -vvv
并使用以下命令发布资源
$ php artisan vendor:publish --provider=Overtrue\\LaravelUploader\\UploadServiceProvider
-
路由
您可以在
routes/web.php
或其他路由文件中注册路由\LaravelUploader::routes(); // custom \LaravelUploader::routes([ 'as' => 'files.upload', 'middleware' => ['auth'], //... ]);
用法
自定义控制器
如果您想处理文件上传,可以像这样简单地做
<?php namespace App\Http\Controllers; use Illuminate\Http\Request; use Illuminate\Routing\Controller as BaseController; use Overtrue\LaravelUploader\StrategyResolver; class MyUploadController extends BaseController { public function upload(Request $request) { return StrategyResolver::resolveFromRequest($request, $request->get('strategy', 'default'))->upload(); } }
自定义响应
如果您想更新响应,可以从返回值对象中获取关键信息并返回一个新的响应
public function upload(Request $request) { $response = StrategyResolver::resolveFromRequest($request, $request->get('strategy', 'default'))->upload(); return response()->json([ 'status' => 'success', 'url' => $response->url, 'origin_name' => $response->originalName, //... ]); }
您可以获取所有这些公共属性
int $size; string $path; string $mime; string $url; string $relativeUrl; string $filename; string $originalName; \Illuminate\Http\UploadedFile $file; \Overtrue\LaravelUploader\Strategy $strategy;
推荐客户端
❤️ 赞助我
如果您喜欢我的项目并想支持它,点击这里 ❤️
由 JetBrains 支持的项目
非常感谢 JetBrains 善意提供许可证,使我能够为这个和其他开源项目工作。
PHP 扩展包开发
想知道如何从零开始构建 PHP 扩展包吗?
请关注我的实战课程,我会在该课程中分享一些扩展开发经验 —— 《PHP 扩展包实战教程 - 从入门到发布》
许可协议
MIT