monim67/laravel-user-image-croppie

Laravel 包用于裁剪和上传方形/圆形用户头像

v1.0.2 2018-12-12 16:29 UTC

This package is auto-updated.

Last update: 2024-09-13 06:10:12 UTC


README

此包为 Laravel 应用添加方形/圆形用户头像,并包含更新事件。用户可以在上传前使用纯 JavaScript 旋转、缩放和裁剪头像,无需 jQuery。包含一个头像控制器来处理图像上传,成功上传头像后触发事件。

Steps of image upload - laravel-user-image-croppie

version of laravel-user-image-croppie licence of laravel-user-image-croppie

特性

  • 上传前可调整大小、旋转或裁剪图片。
  • 带进度条的图像上传。
  • 使用纯 JavaScript 构建,无需 jQuery。
  • 在成功上传图像时触发 AvatarUpdate 事件。
  • 包含包内的路由和控制器。
  • 包含可选迁移,将头像列添加到用户表中。
  • 只需几个简单步骤即可与 Laravel 集成。
  • 通过编辑配置文件进行完全自定义。
  • 包含本地化支持。
  • 可以与 Laravel Voyager 管理面板一起使用。

入门

使用 Composer 安装包并发布配置文件。

composer require monim67/laravel-user-image-croppie
php artisan vendor:publish --provider="Monim67\LaravelUserImageCroppie\ServiceProvider" --tag=config

如果您已有用户图像的数据库列,需要在配置文件中指定它,否则可以发布此包中的迁移,该迁移将添加一个名为 avatar 的列到用户表中。

php artisan vendor:publish --provider="Monim67\LaravelUserImageCroppie\ServiceProvider" --tag=migrations
php artisan migrate

将以下内容添加到 web.php 文件中的路由。

Route::prefix('avatar')->middleware('auth:web')->group(function(){LUICroppie::routes();});

这将包括用户图像的编辑和更新路由。您可以使用任何您选择的别名。

如果您只想使用更新路由,请使用以下内容代替。

Route::prefix('avatar')->middleware('auth:web')->group(function(){LUICroppie::update_routes_only();});

编辑路由将在 resources\views\avatar\edit.blade.php 中查找。因此,创建一个扩展基本布局模板的文件,并在其中包含图像上传表单。

@extends('layouts.main')

@section('content')
@include('lui-croppie::partials.css')
@include('lui-croppie::partials.js')
<div class="row">
    <div class="col-md-8">
        <div class="box box-primary" >
            <div class="box-header with-border">
                <h3 class="box-title">Change Profile Picture</h3>
                <div class="box-tools pull-right">
            </div>
        </div>
            <div class="box-body">
                @include('lui-croppie::bootstrap3.default')
            </div>
        </div>
    </div>
</div>
@stop

这就完成了,控制器已包含在包中,您无需编写控制器操作。运行开发服务器并访问 https://:8000/avatar/edit 来查看效果。

自定义选项

您可以通过编辑配置目录中的 lui-croppie.php 配置文件来自定义选项。

注意:对于圆形头像,将图像类型设置为 circle

其他表单布局

目前只包含 Bootstrap 3 布局,以后还将添加更多。您也可以绘制自己的布局,甚至创建带有您自己布局的 PR。

如果您不想有单独的页面来上传图像,可以将此表单添加到您现有的页面中,例如个人资料页面或账户设置页面。然后仅将更新路由包含到您的 web.php 中,并将密码更新表单包含到您选择的页面中。

本地化

如果您想自定义包语言文件,请发布它们进行修改。文件将被发布到 resources\lang\vendor\lui-croppie 目录。您可以在那里创建其他语言的语言文件。

php artisan vendor:publish --provider="Monim67\LaravelUserImageCroppie\ServiceProvider" --tag=lang

用户头像更新事件

当用户上传图像时,将触发 Monim67\LaravelUserImageCroppie\Events\AvatarUpdate 事件,您可以为事件订阅或添加监听器。

致谢

此包使用 Croppie JavaScript 图像裁剪器裁剪上传图像。