节点 / 资产
此包已废弃,不再维护。未建议替代包。
用于上传文件并生成匹配文件的URL的包
1.1.21
2020-02-13 15:47 UTC
Requires
- illuminate/container: >=5.2.0 <6.15.0
- illuminate/support: >=5.2.0 <6.15.0
- league/flysystem-aws-s3-v3: ~1.0
- nodes/cache: ^1.0
- nodes/core: ^1.1
- symfony/http-foundation: 2.8.*||3.0.*||3.1.*||3.2.*||3.3.*||4.3.*||4.4.*
Requires (Dev)
- orchestra/testbench: ~3.4
- phpunit/phpunit: ~5.7
- dev-master
- 1.1.21
- 1.1.20
- 1.1.19
- 1.1.18
- 1.1.17
- 1.1.16
- 1.1.15
- 1.1.14
- 1.1.13
- 1.1.12
- 1.1.11
- 1.1.10
- 1.1.9
- 1.1.8
- 1.1.7
- 1.1.6
- 1.1.5
- 1.1.4
- 1.1.3
- 1.1.2
- 1.1.1
- 1.1.0
- 1.0.9
- 1.0.8
- 1.0.7
- 1.0.6
- 1.0.5
- 1.0.4
- 1.0.3
- 1.0.2
- 1.0.1
- 1.0.0
- 0.1.3
- 0.1.2
- 0.1.1
- 0.1.0
- dev-feature/laravel6-only
- dev-develop
- dev-feature/laravel6
- dev-hotfix/fix-nodes-s3-provider
This package is auto-updated.
Last update: 2024-05-17 19:36:05 UTC
README
用于处理文件并与Laravel轻松集成的工具。
📝 简介
我们团队在Nodes中缺少Laravel的一个快速简单的文件存储集成系统。
Storage
外观使操作更简单,但我们仍需要从不同格式上传文件、存储到非常具体的文件夹结构、检索路径并能够创建用于服务API和网站的URL的选项。
📦 安装
要安装此包,您需要
- Laravel 5.1+
- PHP 5.5.9+
然后您必须修改您的composer.json
文件并运行composer update
,以将包的最新版本包含到您的项目中。
"require": { "nodes/assets": "^1.1" }
或者您可以从终端运行composer require命令。
composer require nodes/assets:^1.1
🔧 设置
在config/app.php
中设置服务提供者
Nodes\Assets\ServiceProvider::class
在config/app.php
中设置别名
'Assets' => Nodes\Assets\Support\Facades\Assets::class
发布配置文件
php artisan vendor:publish --provider="Nodes\Assets\ServiceProvider"
如果您想覆盖任何现有的配置文件,请使用--force
参数
php artisan vendor:publish --provider="Nodes\Assets\ServiceProvider" --force
S3 + ImgIX
在general.php配置中
'upload' => [ 'provider' => function () { $s3Config = config('filesystems.disks.s3'); $awsS3Config = config('nodes.assets.provider.aws-s3'); return new \Nodes\Assets\Upload\Providers\AmazonS3($awsS3Config, $s3Config); }, ], 'url' => [ 'provider' => function () { $imgIxConfig = config('nodes.assets.providers.imgix'); return new \Nodes\Assets\Url\Providers\ImgIX($imgIxConfig); }, ],
确保已经设置好.env
AMAZON_BUCKET=bucket
AMAZON_KEY=key
AMAZON_SECRET=secret
AMAZON_REGION=eu-west-1
CDN_BASE_URL=nodes-cdn-development.imgix.net
Vapor Cloud
在general.php配置中
<?php return [ 'upload' => [ 'provider' => function () { $s3Config = config('filesystems.disks.s3'); $vaporCloudConfig = config('nodes.assets.providers.vapor-cloud'); return new \Nodes\Assets\Upload\Providers\VaporCloud($s3Config, $vaporCloudConfig); }, ], 'url' => [ 'provider' => function () { $vaporCloudConfig = config('nodes.assets.providers.vapor-cloud'); return new \Nodes\Assets\Url\Providers\VaporCloud($vaporCloudConfig); }, ], ];
确保已经设置好.env
AMAZON_BUCKET=bucket AMAZON_KEY=key AMAZON_SECRET=secret AMAZON_REGION=eu-west-1 AMAZON_CLOUDFRONT_URL={insert imgix base url here locally} AMAZON_CLOUDFRONT_URL_DATA={insert imgix base url here locally}
公共文件夹
公共文件夹方法可以调整图像大小。要设置,您需要Intervention图像库。安装方法如下:
composer require intervention/image
然后添加以下内容到app.php
providers数组
Intervention\Image\ImageServiceProvider::class
aliases数组
'Image' => Intervention\Image\Facades\Image::class
最后运行
php artisan vendor:publish --provider="Intervention\Image\ImageServiceProviderLaravel5"
为公共文件夹配置
修改config/nodes/assets/general.php
中的配置
return [ 'upload' => [ 'provider' => function () { return new \Nodes\Assets\Upload\Providers\PublicFolder(); }, ], 'url' => [ 'provider' => function () { return new \Nodes\Assets\Url\Providers\PublicFolder(); }, ], ];
⚙ 使用方法
全局方法
function assets_add($file, $folder = null, UploadSettings $settings = null)
function assets_add_uploaded_file(UploadedFile $file, $folder = null, UploadSettings $settings = null)
function assets_add_url($url, $folder = null, UploadSettings $settings = null)
function assets_add_data_uri($dataUri, $folder = null, UploadSettings $settings = null)
function assets_get($path, UrlSettings $settings = null)
外观方法
Assets::add($file, $folder = null, UploadSettings $settings = null)
Assets::addFromUploadedFile(UploadedFile $file, $folder = null, UploadSettings $settings = null)
Assets::addFromUrl($url, $folder = null, UploadSettings $settings = null)
Assets::addFromDataUri($dataUri, $folder = null, UploadSettings $settings = null)
Assets::get($path)
🏆 致谢
此包由Nodes的PHP团队开发并维护。
📄 许可证
此包是开源软件,根据MIT许可证授权。