optimus/fineuploader-server

0.4.4 2023-12-28 14:43 UTC

This package is auto-updated.

Last update: 2024-08-28 15:57:51 UTC


README

Build Status Coverage Status

安装

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' => [

    ]

];