opensmarty / opensmarty-image
Opensmarty Image 是一种辅助服务,用于处理上传的图像并存储图像以避免重复。
v1.0.2
2017-12-07 01:43 UTC
Requires
- php: >=5.3.0
- intervention/image: ^2.3
- intervention/imagecache: ~2.1
- laravel/framework: 5.2.*|5.3.*|5.4.*|5.5.*
Requires (Dev)
- phpunit/phpunit: 4.*
This package is auto-updated.
Last update: 2024-09-27 23:09:26 UTC
README
Opensmarty Image 是一种辅助服务,用于处理上传的图像并存储图像以避免重复。
为 Laravel 和 Opensmarty Starter 构建。
安装
通过 Composer
将 Composer 包安装到您的 Laravel 项目中
composer require opensmarty/opensmarty-image
将服务提供者添加到 config/app.php
'providers' => [ ... Opensmarty\Image\OpensmartyImageServiceProvider::class, ... ],
发布配置文件。
php artisan vendor:publish
发布后,Rest Client 的配置文件为 config/opensmarty-image.php,您需要对其进行配置以使用 Rest Client。
使用方法
路由
Route::get('/image/{name}', 'ImageController@showOriginalImage'); Route::post('/image', 'ImageController@postImage');
多个可图像化对象
在模型中使用
use OpensmartyHasImageablesTrait;
使用方法
/** @var OpensmartyImage $opensmartyImage */ $opensmartyImage = OpensmartyImage::find(1); /** @var User $user */ $user = User::find(1); // save image relations smartly with sequence support (recommended) $user->syncImages([1, 2], ['type' => 'cover', 'data' => json_encode('a')]); // save image relations via save $user->images()->save($opensmartyImage, ['type' => 'cover', 'data' => json_encode('a')]); // save image relations via attach $user->images()->attach(1, ['type' => 'cover', 'data' => json_encode('a')]); // update image relations via sync $user->images()->sync([1]); // set as main image $user->setAsMainImage($opensmartyImage); // set as type main image $user->setAsTypeMainImage('cover', $opensmartyImage); // get all images print_r($user->getImages()->toArray()); // get first main image print_r($user->getMainImage()->toArray()); // get all main images print_r($user->getMainImages()->toArray()); // get all type images print_r($user->getTypeImages('cover')->toArray()); // get all type images and are main images print_r($user->getTypeMainImages('cover')->toArray());
示例控制器文件
app/Http/Controllers/ImageController.php
<?php namespace App\Http\Controllers; use Exception; use Illuminate\Http\Request; use Opensmarty\Image\Controllers\OpensmartyImageController; use Opensmarty\Models\Image\OpensmartyImage; use Opensmarty\Image\OpensmartyImageService; class ImageController extends Controller { public function postImage(Request $request) { $opensmartyImageService = new OpensmartyImageService(); $file = $request->file('image'); $opensmartyImage = null; try { /** @var OpensmartyImage $opensmartyImage */ $opensmartyImage = $opensmartyImageService->handleUploadedFile($file); } catch (Exception $e) { return 'Failed to save: ' . $e->getMessage(); } if (!$opensmartyImage) { return 'Failed to save uploaded image.'; } $opensmartyImageId = $opensmartyImage->getOpensmartyImageId(); return 'Saved: ' . $opensmartyImage->getImageUrl(); } public function showOriginalImage($image_name) { return OpensmartyImageController::showImage('original', $image_name); } }
测试
phpunit
贡献
请参阅CONTRIBUTING以获取详细信息。
致谢
许可协议
MIT 许可协议 (MIT)。请参阅许可文件以获取更多信息。