rootcause0/filepond-laravel-multiple

支持多个文件上传的Laravel后端模块

dev-master 2021-02-04 16:47 UTC

This package is auto-updated.

Last update: 2024-09-05 00:48:29 UTC


README

Laravel FilePond 后端

一个集成的Laravel后端,用于FilePond

我们目前支持`process`和`revert`方法,并通过Laravel的加密/解密方法来确保它们的安全性。

🚀 2分钟内快速启动

Laravel 设置

在您的Laravel项目的composer.json中需要此包。

composer require sopamo/laravel-filepond

如果您需要编辑配置,可以使用以下命令进行发布:

php artisan vendor:publish --provider="Sopamo\LaravelFilepond\LaravelFilepondServiceProvider"

此仓库包含一个Filepond上传控制器,您应该将上传指向该控制器。上传后,控制器将返回$serverId,Filepond将通过隐藏输入字段(与img名称相同)发送,以便在您自己的控制器中使用,将文件从临时存储移动到永久位置,使用getPathFromServerId($request->input('image'))函数。

// Get the temporary path using the serverId returned by the upload function in `FilepondController.php`
$filepond = app(Sopamo\LaravelFilepond\Filepond::class);
$path = $filepond->getPathFromServerId($serverId);

// Move the file from the temporary path to the final location
$finalLocation = public_path('output.jpg');
\File::move($path, $finalLocation);

外部存储

您可以使用任何Laravel磁盘作为临时文件的存储。如果您使用不同的磁盘作为临时文件和最终位置,则需要将文件从临时位置复制到新磁盘,然后自己删除临时文件。

如果您使用的是默认的local磁盘,请确保您的项目中存在/storage/app/filepond目录,并且是可写的。

Filepond 设置

至少设置以下Filepond配置

FilePond.setOptions({
  server: {
    url: '/filepond/api',
    process: '/process',
    revert: '/process',
    headers: {
      'X-CSRF-TOKEN': '{{ csrf_token() }}'
    }
  }
});