yasmuru/ys-tinify-laravel

支持laravel的Tinify API

v1.0.2 2018-01-25 09:45 UTC

This package is not auto-updated.

Last update: 2024-09-22 03:52:17 UTC


README

支持laravel的Tinify API

Latest Version on Packagist

安装

$ composer require yasmuru/ys-tinify-laravel

将以下代码添加到您的config/app.php文件中,

在"providers"部分下

        yasmuru\LaravelTinify\LaravelTinifyServiceProvider::class,

在"aliases"部分下

        'Tinify' => yasmuru\LaravelTinify\Facades\Tinify::class

并设置一个环境变量TINIFY_APIKEY,使用您的tinypng API密钥。

如果您想直接将图像上传到aws s3,您需要使用您的aws s3凭据设置以下环境变量。

    S3_KEY=
    S3_SECRET=
    S3_REGION=
    S3_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', $s3_bucket_name, '/path/to/save/in/bucket');

	$s3_result = Tinify::bufferToS3($source_data, $s3_bucket_name, '/path/to/save/in/bucket');

	$s3_result = Tinify::urlToS3($image_url, $s3_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存储桶文件夹的权限,以确保图像的隐私。