optimus / fineuploader-server
0.4.4
2023-12-28 14:43 UTC
Requires
- laravel/framework: ~6.0|~7.0|~8.0|~9.0|~10.0
- optimus/onion: 0.1.x
Requires (Dev)
- mockery/mockery: 0.9.*
- orchestra/testbench: ~3.1
- phpunit/phpunit: ~4.7
- satooshi/php-coveralls: dev-master@dev
README
安装
composer require optimus/fineuploader-server 0.3.*
使用
这基本上是一些围绕 Fine Uploader 的 PHP 服务器示例 的包装类。
1. 发布/编辑配置
如果您使用 Laravel,您可以通过将服务提供者添加到您的 config/app.php
来集成上传服务器
config/app.php
// ... other service providers
Optimus\FineuploaderServer\Provider\LaravelServiceProvider::class
然后发布配置
php artisan vendor:publish
2. 创建路由和控制器方法
在您的路由文件中某个地方
$router->post('/uploader/upload', '\Optimus\FineuploaderServer\Controller\LaravelController@upload');
$router->delete('/uploader/delete/{uuid}', '\Optimus\FineuploaderServer\Controller\LaravelController@delete');
$router->get('/uploader/session', '\Optimus\FineuploaderServer\Controller\LaravelController@session');
3. 上传
这在与 fineuploader 一起使用时非常直接。我尚未尝试使用“纯”fineuploader,但使用 fineuploader-client 服务器
基本上,您将上传发送到 POST /uploader/upload
。使用 DELETE /uploader/delete/{uuid}
删除。使用 GET /uploader/session
重新填充上传器。
配置
在发布资产时,您将发布 uploader.php
到您的配置目录。它已经填充了一些合理的默认值。如果您希望上传器使用缩略图生成器中间件生成缩略图,您还必须使用以下方法安装包。
composer require optimus/fineuploader-server-thumbnail-creator 0.1.*
您还可以选择使用 Cloudinary 作为存储后端。以下是使用 Cloudinary 后端配置的示例。注意,缩略图中间件缺失,因为 Cloudinary 存储提供程序将自动使用 Cloudinary 添加它。
config/uploader.php
<?php
return [
'uploader_folder' => storage_path() . '/uploader',
'temp_folder' => '/temp',
'fine_uploader' => [
'allowed_extensions' => [],
'size_limit' => 20*1024*1024, // 20 Mb
'input_name' => 'qqfile',
'chunks_folder' => '/chunks'
],
// Can be overridden by client
'thumbnails' => [
'height' => 100,
'width' => 100,
'crop' => 'fill'
],
'storage' => 'cloudinary',
'storage_url_resolver' => [
'class' => Optimus\FineuploaderServer\Http\CloudinaryUrlResolver::class
],
'success_response_class' => Optimus\FineuploaderServer\Response\OptimusResponse::class,
'storages' => [
'local' => [
'class' => Optimus\FineuploaderServer\Storage\LocalStorage::class,
'config' => [
'root_folder' => storage_path() . '/uploader'
]
],
'cloudinary' => [
'class' => Optimus\FineuploaderServer\Storage\CloudinaryStorage::class,
'config' => [
'cloud_name' => env('CLOUDINARY_CLOUD_NAME', 'cloud_name'),
'api_key' => env('CLOUDINARY_API_KEY'),
'api_secret' => env('CLOUDINARY_API_SECRET')
]
]
],
'naming_strategy' => Optimus\FineuploaderServer\Naming\UniqidStrategy::class,
'middleware' => [
]
];