使用Laravel Filesystem选择Amazon S3存储类

时间:2016-03-05 12:56:38

标签: laravel amazon-s3

Amazon S3具有不同的storage classes,具有不同的价格括号。

我想知道是否可以在Laravel的文件系统/云存储解决方案中选择存储类?

最好在每次上传的基础上选择一个类,这样我就可以在整个应用程序中选择,而不只是在配置文件中选择一次。

2 个答案:

答案 0 :(得分:5)

要将其他选项传递给flysystem,您必须使用getDriver()

Storage::disk('s3')->getDriver()->put(
    'sample.txt',
    'This is a demo',
    [
        'StorageClass' => 'REDUCED_REDUNDANCY'
    ]
);

答案 1 :(得分:0)

这可以在Laravel 7中使用

Storage::disk('s3')->put(
    'file path',
    $request->file('file'),
    [
        'StorageClass' => 'STANDARD|REDUCED_REDUNDANCY|STANDARD_IA|ONEZONE_IA|INTELLIGENT_TIERING|GLACIER|DEEP_ARCHIVE',
    ]
);

您可以像下面一样使用putFileAs()方法

Storage::disk('s3')->putFileAs(
        'file path',
        $request->file('file'),
        'file name',
        [
            'StorageClass' => 'STANDARD|REDUCED_REDUNDANCY|STANDARD_IA|ONEZONE_IA|INTELLIGENT_TIERING|GLACIER|DEEP_ARCHIVE',
        ]
    );