simtabi / lapload
Livewire 上传图片组件。
dev-master
2022-04-11 14:15 UTC
Requires
- php: ^8.0
- livewire/livewire: ^2.10.4
Requires (Dev)
- orchestra/testbench: ^6.24.1
- phpunit/phpunit: ^9.5.19
This package is auto-updated.
Last update: 2024-09-17 23:20:18 UTC
README
演示
特性
- 上传图片
- 上传多张图片
- 移除图片
要求
- Laravel Livewire 2.0
安装
您可以通过 composer 安装此包。
composer require simtabi/lapload
用法
将 Livewire 指令添加到组件 blade 页面中(例如 form-component.blade.php)。
<livewire:lapload" name="foo"> or <livewire:lapload" name="foo" size="2048" multiple>
将公共属性添加到存储上传图片名称的数组中,并在组件代码中使用 ImageUploader 特性(例如 FormComponent.php)。
<?php namespace App\Http\Livewire; . . use Simtabi\Lapload\Traits\HasLapload; class FormComponent extends Component{ use HasLapload; public $foo; }
每次图片(移除/上传)发生变化时,组件将触发一个事件,该事件将在父组件中触发方法。该方法将使用新图片名称的数组更新 $foo 属性。
上传的文件
目前所有上传的图片都将存储在 storage/public/lapload 中。要从前端访问图片,您需要从 public/storage 创建到 storage/app/public 的符号链接。要创建符号链接,请运行
php artisan storage:link
在前端显示图片
<img src="{{ asset('storage/lapload/' . $imageName) }}">
样式
要添加样式,您需要将包的 assets 文件夹发布到项目的 public 文件夹。要发布包的 assets 文件夹,请运行
php artisan vendor:publish --provider="Simtabi\Lapload\LaploadServiceProvider" --tag="assets"
接下来,在 HTML 页面的相应部分包含 assets 文件夹中的 css 文件。
<head> ... <link href="{{ asset('lapload/css/app.css') }}" rel="stylesheet"> </head>