如何通过laravel或PHP方法将图像上传到scaleway存储?
答案 0 :(得分:4)
Laravel在后台使用FlySystem来抽象文件存储。它提供了一些现成的驱动程序,包括:S3,Rackspace,FTP等。
如果要支持Scaleway,则需要编写自定义驱动程序,您可以阅读有关它的更多信息here。
编辑:从documentation of 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',
]
然后,要使用磁盘,我做了以下操作:
\Storage::disk('scaleway')->put('file.txt', 'Contents');
我的文件已上传。
编辑:我也做了一个PR,以使Scaleway在League的FlySystem的适配器列表中被接受。它被合并了。您可以在线观看here。