aquinoaldair/storage-image

为 Laravel 提供简单图片存储

2.0 2021-10-24 17:36 UTC

This package is auto-updated.

Last update: 2024-09-24 23:38:17 UTC


README

Latest Version on Packagist Build Status

Laravel 存储图片

Laravel 库,简化在公开存储中存储图片。

安装

您可以通过 composer 安装此包

composer require aquinoaldair/storage-image

使用方法

use AquinoAldair\StorageImage\StorageImage;

从 Base64 存储

$image = "data:image/png;base64.....";

//store image with random 20 character name in Storage disk public (storage/app/public/customFolder) 
$file_name = StorageImage::FromBase64($image)->store("custom_folder");

echo $file_name; // "custom_folder/jqmix7a1l6masdGasd7S.jpg"

从 FormData 存储

$image = request()->image;

$file_name = StorageImage::FromFormData($image)->store("custom_folder");

从 URL 存储

$url = "https://homepages.cae.wisc.edu/~ece533/images/airplane.png";

$file_name = StorageImage::FromURL($url)->store("custom_folder");

仅返回字符串

$url = "https://homepages.cae.wisc.edu/~ece533/images/airplane.png";

$file_name = StorageImage::FromString($url)->store("custom_folder");

echo $file_name; // "https://homepages.cae.wisc.edu/~ece533/images/airplane.png"

实现自己的存储方法

<?php

namespace AquinoAldair\StorageImage\Strategies;

use AquinoAldair\StorageImage\Contract\Image;

class MyCustomClass implements Image
{
     protected $file;
     
     public function __construct($file)
     {
         $this->file = $file;
     }
    public function store($folder = null)
    {
        // do something
    }
}
$image = "something";

StorageImage::make(new MyCustomClass($image))->store("custom_folder");

贡献

欢迎提交拉取请求。对于重大更改,请首先打开一个问题来讨论您想要进行更改的内容。

请确保适当地更新测试。

许可协议

MIT