将文件保存到 scaleway 存储 php 方法

sam*_*man 0 php cloud-storage laravel

如何通过laravel或PHP方法将图像上传到scaleway存储?

Moz*_*mil 5

Laravel在底层使用FlySystem来抽象文件存储。它提供了多种开箱即用的驱动程序,包括:S3、Rackspace、FTP 等。

如果您想支持 Scaleway,则需要编写自定义驱动程序,您可以在此处阅读更多相关信息。

编辑:从Scaleway的文档看来,它支持 AWS CLI 客户端,这意味着在 FlySytem 中添加支持应该很容易。我尝试了以下方法并且有效。

我添加了一个新的驱动程序config/filesystems.php如下:

'scaleway' => [
    'driver' => 's3',
    'key' => '####',
    'secret' => '#####',
    'region' => 'nl-ams',
    'bucket' => 'test-bucket-name',
    'endpoint' => 'https://s3.nl-ams.scw.cloud',
]
Run Code Online (Sandbox Code Playgroud)

然后,为了使用磁盘,我执行了以下操作:

\Storage::disk('scaleway')->put('file.txt', 'Contents');
Run Code Online (Sandbox Code Playgroud)

我的文件已上传。

编辑:我还做了一个PR,让 Scaleway 被联盟的 FlySystem 的适配器列表所接受。它合并了。你可以在这里看到它。