sherwinchia / livewire-image-uploader
Livewire 图像上传组件。
1.0.1
2021-05-26 11:05 UTC
Requires
- php: ^7.4|^8.0
- illuminate/support: ^8.0
- livewire/livewire: ^2.4
Requires (Dev)
- orchestra/testbench: ^6.0
- phpunit/phpunit: ^9.0
This package is auto-updated.
Last update: 2024-09-29 06:08:38 UTC
README
演示
特性
- 上传图像
- 上传多张图像
- 删除图像
要求
- Laravel Livewire 2.0
安装
您可以通过composer安装此包
composer require sherwinchia/livewire-image-uploader
使用方法
将Livewire指令添加到组件blade页面中(例如form-component.blade.php)。
<livewire:image-uploader name="foo"> or <livewire:image-uploader name="foo" size="2048" multiple>
将公共属性添加到存储上传图像名称的数组中,并在组件代码中使用ImageUploader特质(例如FormComponent.php)。
<?php namespace App\Http\Livewire; . . use Sherwinchia\LivewireImageUploader\Http\Traits\ImageUploader; class FormComponent extends Component{ use ImageUploader; public $foo; }
每次图像发生变化(删除/上传)时,组件将触发一个事件,该事件将在父组件中触发方法。该方法将使用新图像名称的数组更新$foo属性。
上传的文件
目前,所有上传的图像都将存储在storage/public/image-uploader中。要从前端访问图像,您需要从public/storage创建一个符号链接到storage/app/public。要创建符号链接,请运行
php artisan storage:link
在前端显示图像
<img src="{{ asset('storage/image-uploader/' . $imageName) }}">
样式
要添加样式,您需要发布包的资产文件夹到项目的public文件夹。要发布包的资产文件夹,请运行
php artisan vendor:publish --provider="Sherwinchia\LivewireImageUploader\LivewireImageUploaderServiceProvider" --tag="assets"
接下来,在HTML页面的相应部分包含assets文件夹中的css文件
<head> ... <link href="{{ asset('image-uploader/css/app.css') }}" rel="stylesheet"> </head>