simtabi/lapload

Livewire 上传图片组件。

dev-master 2022-04-11 14:15 UTC

This package is auto-updated.

Last update: 2024-09-17 23:20:18 UTC


README

lapload

演示

uploader-demo

特性

  • 上传图片
  • 上传多张图片
  • 移除图片

要求

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