证据ekanem / tinify-laravel
支持 Laravel 的 Tinify API
v1.0.6
2022-05-31 12:45 UTC
Requires
- php: >=7.2
- illuminate/support: ^6|^7|^8|^9
- tinify/tinify: *
README
支持 Laravel 的 Tinify API
安装
$ composer require evidenceekanem/tinify-laravel
将以下内容添加到您的 config/app.php 文件中,
在 "providers" 部分
evidenceekanem\LaravelTinify\LaravelTinifyServiceProvider::class,
在 "aliases" 部分
'Tinify' => evidenceekanem\LaravelTinify\Facades\Tinify::class
并且设置一个环境变量 TINIFY_API_KEY,使用您的 tinypng API 密钥。
如果您想直接将图片上传到 aws s3,您需要设置以下环境变量,使用您的 aws s3 凭据。
AWS_ACCESS_KEY_ID= AWS_SECRET_ACCESS_KEY= AWS_DEFAULT_REGION= AWS_BUCKET=
示例
$result = Tinify::fromFile('\path\to\file'); $result = Tinify::fromBuffer($source_data); $result = Tinify::fromUrl($image_url); /** To save as File **/ $result->toFile('\path\to\save'); /** To get image as data **/ $data = $result->toBuffer();
$s3_result = Tinify::fileToS3('\path\to\file', $AWS_BUCKET_name, '/path/to/save/in/bucket'); $s3_result = Tinify::bufferToS3($source_data, $AWS_BUCKET_name, '/path/to/save/in/bucket'); $s3_result = Tinify::urlToS3($image_url, $AWS_BUCKET_name, '/path/to/save/in/bucket'); /** To get the url of saved image **/ $s3_image_url = $s3_result->location(); $s3_image_width = $s3_result->width(); $s3_image_hight = $s3_result->height();
注意:所有直接保存到 s3 的图片都是公开可读的。您可以在 AWS 控制台中设置 s3 桶文件夹的权限,以确保图片的隐私。