broqiang/laravel-image

Laravel 图片处理

该包的官方仓库似乎已不存在,因此该包已被冻结。

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',