cesurapp/storage-bundle

Symfony 存储包

安装: 216

依赖项: 1

建议者: 0

安全: 0

星标: 0

关注者: 1

分支: 0

开放问题: 0

类型:symfony-bundle

1.0.02 2024-05-31 11:24 UTC

This package is auto-updated.

Last update: 2024-08-31 00:47:01 UTC


README

App Tester Software License

用于文件存储。无需数据库连接。使用 Async-aws/s3 包进行 S3 连接。每个驱动都有可用的测试,任何未定义访问代码的测试都将跳过。可以同时使用多个驱动。使用 MediaBunle 来跟踪文件。

支持的驱动器

  • BackBlaze
  • CloudFlare
  • 本地

安装

所需 Symfony 7

composer req cesurapp/storage-bundle

配置

# config/packages/storage.yaml

storage:
  default: main
  devices:
    local:
      driver: local #backblaze, cloudflare, local
      root: "%kernel.project_dir%/storage/files"

    main:
      driver: s3
      root: /
      accessKey: "access_key"
      secretKey: "secret_key"
      bucket: "bucket_name"
      region: "auto"
      endPoint: "https://11d0547262baad2e6bdeb340e88f83be.r2.cloudflarestorage.com"

    backblaze:
      driver: backblaze
      root: /
      accessKey: "access_key"
      secretKey: "secret_key"
      bucket: "bucket_name"
      region: "auto"

测试

未定义访问代码的测试将被跳过。

<!--phpunit.xml.dist-->

<!--BackBlaze Test Keys-->
<server name="BACKBLAZE_ACCESS_KEY" value="KEY"/>
<server name="BACKBLAZE_SECRET" value="KEY"/>
<server name="BACKBLAZE_BUCKET" value="KEY"/>

<!--CloudFlare Test Keys-->
<server name="CLOUDFLARE_R2_ACCESS_KEY" value="KEY"/>
<server name="CLOUDFLARE_R2_SECRET" value="KEY"/>
<server name="CLOUDFLARE_R2_ENDPOINT" value="KEY"/>
<server name="CLOUDFLARE_R2_BUCKET" value="unit-test"/>

用法

public function controllerAction(\Cesurapp\StorageBundle\Storage\Storage $storage) {
    // Upload File
    $storage->upload('source_path', 'upload_path');
    
    // Write File
    $storage->write('upload_path', 'text_content', 'application/text');
    
    // Delete
    $storage->delete('file_path');
    
    // Check
    $storage->exists('file_path');
    
    // Read
    $storage->read('file_path')
}