使用laravel将文件存储到aws s3

使用laravel将文件存储到aws s3

问题描述:

请给我一个例子,将文件存储到laravel 5.5中的AWS S3。 我已经使用AWS凭证配置了文件系统文件。使用laravel将文件存储到aws s3

只见功能

Storage::put('file.jpg', $contents);

,但不知道是什么,第二个参数是

filesystem.php文件被作为

return [ 


    'default' => env('FILESYSTEM_DRIVER', 'local'), 



    'cloud' => env('FILESYSTEM_CLOUD', 's3'), 


    'disks' => [ 

     'local' => [ 
      'driver' => 'local', 
      'root' => storage_path('app'), 
     ], 

     'public' => [ 
      'driver' => 'local', 
      'root' => storage_path('app/public'), 
      'url' => env('APP_URL').'/storage', 
      'visibility' => 'public', 
     ], 

     's3' => [ 
      'driver' => 's3', 
      'key' => '*********', 
      'secret' => '******', 
      'region' => 'my region', 
      'bucket' => 'bucketname', 
     ], 

    ], 

]; 

感谢如下内容提前

+0

我们展示的内容你的'filesystems.php' –

+1

第二个参数是实际该文件的原始内容(字符串)或它是一个PHP资源(例如一个文件流句柄)。 [文档](https://laravel.com/docs/5.5/filesystem)确实这么说。 – apokryfos

+0

更新了有问题的文件系统内容,请给我举个例子 –

有一个很好的例子在Laravel documentation

Storage::disk('s3')->put('avatars/1', $fileContents); 

的第二个参数是为文件内容,所以在现实生活中它可能看起来像这样:

Storage::disk('s3')->put('file.jpg', file_get_contents('your_local_file.jpg');