webbycrown / s3-extension-for-bagisto
Bagisto 的 S3 扩展
dev-main
2024-03-13 11:54 UTC
Requires
- php: ^8.1
- league/flysystem-aws-s3-v3: ^3.0
This package is auto-updated.
Last update: 2024-09-13 13:05:20 UTC
README
1. 简介
"Bagisto 的 S3 扩展" 与 Amazon S3 无缝集成,使店铺管理员能够轻松地将可下载产品、媒体文件、产品内容和图片从本地磁盘上传到 S3 服务器。这个免费扩展允许用户直接从 S3 存储桶存储和检索静态文件和媒体内容,并增加了设置过期头部的功能,以增强控制。
功能
- 与 Bagisto 中所有产品类型兼容。
- 存储桶管理跨各种产品类别(包括产品图片、产品描述中的媒体、编辑图片等)的媒体文件的存储和检索。
- 轻松直接从 Amazon S3 服务器存储和检索文件。
- 客户可以方便地从 Amazon 服务器在任何时间和任何地点访问和下载文件。
- 缓存图像现在直接从 Amazon S3 服务器提供。
- 用户可以选择将静态文件保存到 Amazon S3 服务器。
- 该模块提供了灵活的设置来配置首选项。
- 扩展允许为缓存文件设置过期头部,增强对缓存机制的控制。
2. 要求
- PHP: 8.0 或更高版本。
- Bagisto: v2.0.*
- Composer: 1.6.5 或更高版本。
3. 安装
- 安装以下包。
composer require webbycrown/s3-extension-for-bagisto:dev-main
-
转到您的管理员面板 -> 点击 配置 菜单 -> 点击 Aws S3 Bucket 并填写您的存储桶详细信息。
-
转到 config/filesystems.php 并添加以下代码。
's3' => [ 'driver' => 's3', 'key' => env('AWS_ACCESS_KEY_ID'), 'secret' => env('AWS_SECRET_ACCESS_KEY'), 'region' => env('AWS_DEFAULT_REGION'), 'bucket' => env('AWS_BUCKET'), 'url' => env('AWS_URL'), 'endpoint' => env('AWS_ENDPOINT'), 'use_path_style_endpoint' =>env('AWS_USE_PATH_STYLE_ENDPOINT', false), ],
- 转到 config/imagecache.php 文件并替换以下行在 ‘paths’ 之下。
'paths' => [ storage_path('app/public'), public_path('storage'), ],
替换为
'paths' => [ env('AWS_FILE_PATH'), ],
注意: 如果 imagecache.php 文件不存在,请安装 ImageCache 库。
composer dump-autoload
php artisan optimize:clear
- 将此代码应用到您想要在 Aws s3 存储桶中上传或删除文件的地方。
$s3Data = array( 'action' => $action, 'imageUrl' => $imageUrl, 'location' => $location, ); app('Webbycrown\S3Extension\S3Extension')->awsS3Operation($s3Data);
- $action :
upload
或delete
键 - $imageUrl : 文件本地存储 URL
- $location : aws s3 位置(文件夹层次结构)
获取上传的 S3 存储桶文件
env( 'AWS_FILE_PATH' ) . '/' . $path;