2016-08-11 9 views
1

を拒否:はfopen(ファイルへのパスは)ストリームをオープンに失敗しましたLaravel S3ファイルのアップロード:私が持っているファイルシステムでは</p> <p>:許可は、私はS3にファイルをアップロードしています

'default' => 's3', 

'cloud' => 's3', 

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

    ], 
    'parent_url' => 'http://54.169.67.54/', 

]; 

すべては罰金が、エラーと思われますファイルをアップロードするときに表示されます。さらに、参照用

fopen(/var/www/html/project/public/photos/profile-pics/1-medium-1470892864.jpg): failed to open stream: Permission denied

+0

。このリンクを確認してください: - https://docs.aws.amazon.com/AmazonS3/latest/dev/example-bucket-policies.html –

+0

バケット許可の問題ですか? – Gammer

+0

ああ!あなたのローカルシステムからファイルを取得しているようです。アクセスに十分な許可があることを確認してください。 s3バケットパーミッションの問題に直面する場合は、上記のリンクを参照してください。 –

答えて

0

使用League\Flysystemとチェックthis

例:

あなたはバケットポリシーを変更する必要が
public function uploadFile($getFile) 
     { 
      try{  

       $datetimefilename = Carbon::now()->format('YmdHis');    
       $ext    = $getFile->getClientOriginalExtension(); 
       $filename   = sprintf('%s.%s', $datetimefilename,$ext); 
       $uploadPath   = env('UPLOAD'); 

       if(Storage::disk('s3')->has($uploadPath) === false){ 
        Storage::disk('s3')->createDir($uploadPath); 
       } 

       $filePath   = sprintf('%s/%s',$uploadPath,$filename); 

       $result = Storage::disk('s3')->put($filePath, file_get_contents($getFile->getRealPath())); 


       return $result ; 
      } 
      catch(\Exception $e) 
      { 
       return false; 
      } 
     } 
関連する問題