broqiang/laravel-image

Laravel image processing

This package's canonical repository appears to be gone and the package has been frozen as a result.

1.0.1 2018-03-07 15:45 UTC

This package is not auto-updated.

Last update: 2022-02-13 18:19:41 UTC


README

Laravel 框架使用的图片上传类,可以方便进行图片上传,支持本地存储和七牛云

依赖关系

用于 Laravel 的图片处理

计划支持本地图片和七牛云,暂时先只实现本地上传,等后续有时间再完善

使用方法

安装扩展包

composer require broqiang/laravel-image "1.0.*"

发布配置文件

如果默认的配置文件可以满足,跳过这步也可以,如果不满足,需要自定义配置,可以执行下面命令,然后到 config/bro_image.php 中去修改

php artisan vendor:publish --provider="BroQiang\LaravelImage\LaravelImageProvider"

使用

// 注意要引入命名空间
$image = new BroImage();

// 支持动态传入配置文件,所有配置文件中的配置都可以传入,在第二个参数中传入一个数组即可,
// key 和配置文件中的 key 相同即可
$config = [
    'folder'      => 'avatar',
    'file_prefix' => 'avatar_',
    'max_width'   => 260,
];

// $file 是 Laravel 的 Illuminate\Http\UploadedFile 对象 ,可以通过 Request 直接得到
$file = $request->avatar;
// 也可以通过下面方式
$file = $request->file('avatar');

$info = $image->upload($file, $config);

// 也可以使用链式操作去配置
$info = $image->setConfig($config)->upload($file);

具体的参数可以查看默认配置文件,里面有详细的介绍

将图片上传到七牛云

图片默认是上传到本地的,如果是上传到七牛云需要对下面内容进行配置

因为都是敏感信息,所以将其放到了 .env 中,因为这个文件是不需要上传到 github 的

.env

# 七牛的 access key 和 secret key 可以到个人中心的密钥管理中获得
QINIU_ACCESS_KEY=
QINIU_SECRET_KEY=
# bucket 就是对象存储的存储空间的名称
QINIU_BUCKET=
# 这里是七牛的 CDN 融合加速域名,可以在存储空间中找到,如我的就是 http://image.broqiang.com
QINIU_DOMAIN=

_bro_image.php

'upload_type'      => 'local',
// 改为
'upload_type'      => 'qiniu',