stew/image-uploader

使用Laravel Storage上传图片并转换为格式.webp

v1.0.5 2023-10-25 08:50 UTC

This package is auto-updated.

Last update: 2024-09-25 11:28:59 UTC


README

安装

composer require stew/image-uploader

用法

  • 步骤1:导入UploaderTrait
use Stew\ImageUploader\Traits\UploaderTrait;
  • 步骤2:在您的类/控制器中实现Trait
use Stew\ImageUploader\Traits\UploaderTrait;

class YourController extends Controller
{
    use UploaderTrait;

    public function uploadImage(Request $request)
    {
        // code
    }
}

使用提供的方法

获取图片磁盘

  • getImageDisk()方法获取图片存储磁盘的名称。默认情况下,它读取FILESYSTEM_DISK环境变量。您可以通过在环境配置中设置FILESYSTEM_DISK变量来指定不同的磁盘。
$this->getImageDisk();
  • 请确保您的.env文件和配置filesystems.default中有FILESYSTEM_DISK变量,例如
FILESYSTEM_DISK=local
'default' => env('FILESYSTEM_DISK', 'local'),
  • 要使用数据库存储配置,您需要运行以下命令的迁移
php artisan migrate
  • 上述命令将创建一个具有以下结构的"settings"表
Schema::create('settings', function (Blueprint $table) {
    $table->id();
    $table->string('key')->unique();
    $table->text('value');
    $table->timestamps();
});
  • 我们为您提供了测试用的示例数据。您可以使用以下命令来生成示例数据。
php artisan db:seed --class=Stew\\ImageUploader\\Database\\Seeders\\SettingSeeder
  • 要使用来自"settings"表的配置(默认情况下),您可以使用以下函数
$this->getImageDisk('YOUR TABLE') // Default is "settings"
  • 如果您想自定义生成数据,可以使用以下命令
php artisan vendor:publish --provider="Stew\ImageUploader\Providers\ImageUploaderServiceProvider"

获取存储目录

  • 要获取图片的存储目录,请使用getDirectory($path)方法。
$this->getDirectory($path);

将图片文件保存到存储

  • 此方法用于将图片文件保存到您的存储中。它返回一个表示保存图片路径的字符串,扩展名为.webp。
$this->saveFileToStorage($fileName, $path);

检查Base64字符串

  • 要检查一个字符串是否为Base64字符串,请使用isBase64($strEndcode)方法。
$this->isBase64($strEndcode);

删除图片

  • 要删除存储中的图片文件,请使用deleteImage($filePath)方法。
$this->deleteImage($filePath);

公共磁盘

  • 要创建符号链接,您可以使用storage:link Artisan命令
php artisan storage:link