适用于您应用程序的简单、友好且实用的Livewire文件管理器

v0.1.19 2024-09-26 14:57 UTC

README

Livewire filemanager image

适用于Laravel应用程序的Livewire文件管理器

这是一个专为Laravel应用程序设计的简单、友好、实用的文件管理器。这个由Livewire驱动的工具可以轻松管理项目中的文件和文件夹,提供直观的界面和与Laravel生态系统的无缝集成。非常适合寻求高效且用户友好文件和文件夹管理解决方案的开发者。

安装

重要

此包仍在开发中,其结构将在发布稳定版本之前发生变化。请谨慎在项目中使用。

您可以通过 composer 安装此包

composer require livewire-filemanager/filemanager

发布包的迁移文件

php artisan vendor:publish --tag=livewire-fileuploader-migrations

此包依赖于spatie/medialibrary来处理媒体文件,因此如果您尚未配置该包,请记住此步骤

php artisan vendor:publish --provider="Spatie\MediaLibrary\MediaLibraryServiceProvider" --tag="medialibrary-migrations"

有关spatie/medialibrary包的更多信息,请访问他们的文档

注意

缩略图 当您上传图片时,该包将生成缩略图。默认情况下,它将被分派到队列中。您必须在您的应用程序中启动工作者或更改.env文件中的QUEUE_CONNECTION值。

之后,您需要运行迁移。

php artisan migrate

这将创建一个folders表,其中包含文件管理器结构,如果尚未存在,则创建一个媒体表。

包配置

接下来,您需要在希望放置文件管理器的地方使用<x-livewire-filemanager />组件。

对于样式和脚本,该包依赖于TailwindCSS和AlpineJS。因此,如果您尚未安装它们,可以包含@filemanagerScripts@filemanagerStyles

<!DOCTYPE html>
<html>
<head>
    @filemanagerStyles
</head>

<body>
    <x-livewire-filemanager />

    @filemanagerScripts
</body>
</html>

重要

@filemanagerStyles将包含TailwindCSS的PLAY CDN,这不建议用于生产。相反,您可以选择在tailwind配置文件中包含路径。

module.exports = {
    content: [
        './resources/**/*.blade.php',
        './vendor/livewire-filemanager/filemanager/resources/views/**/*.blade.php',
    ],
}

如果您想公开访问您的文件,可以在您的web路由文件中添加以下内容:

Route::get('{path}', [FileController::class, 'show'])->where('path', '.*')->name('assets.show');

别忘了导入FileController类

use LivewireFilemanager\Filemanager\Http\Controllers\Files\FileController;

这将为您提供一个端点,您可以通过直接URL访问文件。

界面

一旦安装完毕,界面应该看起来像这样

Livewire filemanager interface

测试

composer test

变更日志

有关最近更改的更多信息,请参阅CHANGELOG

贡献

所有贡献都受到欢迎并将得到充分认可。

有关详细信息,请参阅CONTRIBUTING

鸣谢

许可协议

麻省理工学院许可证(MIT)。有关更多信息,请参阅许可证文件