节点/资产

此包已废弃,不再维护。未建议替代包。

用于上传文件并生成匹配文件的URL的包

1.1.21 2020-02-13 15:47 UTC

README

用于处理文件并与Laravel轻松集成的工具。

Total downloads Monthly downloads Latest release Open issues License Star repository on GitHub Watch repository on GitHub Fork repository on GitHub Travis tests StyleCI Code Climate

📝 简介

我们团队在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团队开发并维护。

Follow Nodes PHP on Twitter Tweet Nodes PHP

📄 许可证

此包是开源软件,根据MIT许可证授权。