webbycrown/s3-extension-for-bagisto

dev-main 2024-03-13 11:54 UTC

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 : uploaddelete
  • $imageUrl : 文件本地存储 URL
  • $location : aws s3 位置(文件夹层次结构)

获取上传的 S3 存储桶文件

env( 'AWS_FILE_PATH' ) . '/' . $path;