sherwinchia/livewire-image-uploader

Livewire 图像上传组件。

1.0.1 2021-05-26 11:05 UTC

This package is auto-updated.

Last update: 2024-09-29 06:08:38 UTC


README

livewire-image-uploader

演示

uploader-demo

特性

  • 上传图像
  • 上传多张图像
  • 删除图像

要求

  • 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>