Laravel Vapor 上传到 DO Spaces

问题描述

我想在我的应用程序中使用 Laravel Vapor。有关于如何使用 Vapor 将文件上传到 S3 但没有使用其他云提供商的文档。是否可以使用蒸气将文件上传到 Digital Ocean 的 Spaces?如果有人有一些示例代码,我可以看看

解决方法

这是 DigitalOcean 上一些“附件”文件系统的示例配置(它也被视为“S3”服务)。我在原始 Laravel 项目中使用了它,但我希望 Vapor 提供非常相似的配置文件。

所以本质上,如果你给它正确的凭据,它应该是开箱即用的:

// config/filesystems.php
'attachments' => [
    'driver' => env('ATTACHMENTS_DRIVER','s3'),'root' => 'attachments/','key' => env('DO_SPACES_KEY'),'secret' => env('DO_SPACES_SECRET'),'endpoint' => env('DO_SPACES_ENDPOINT'),'region' => env('DO_SPACES_REGION'),'bucket' => env('DO_SPACES_BUCKET'),],

我自己添加了 DO_SPACES_xxx 变量,您在 .env 文件中定义它们,它们看起来应该类似于:

DO_SPACES_KEY=5SOME4KEY3KRANDOMG
DO_SPACES_SECRET=12FABCI6D1MIz+Xep+321BC3MHcz+ABCO21
DO_SPACES_ENDPOINT=https://nyc3.digitaloceanspaces.com
# Region is empty in my configuration,not sure if you need it.
DO_SPACES_REGION=
DO_SPACES_BUCKET=yourbucketname