2011-02-11 19 views
4

CarrierWaveとAmazon S3を使用しています。 CarrierWaveの設定:CarrierWave S3 tmpから読み取ろうとすると、許可が拒否されました。

CarrierWave.configure do |config| 
     config.ensure_multipart_form = false 

     config.permissions = 0777  
     config.s3_access_key_id = 'secret_access_key_id' 
     config.s3_secret_access_key = 'secret_access_key' 
     config.s3_bucket = 'backet_name' 
end 

私はS3にアップロードするときtmpディレクトリから読み取るしようとして許可拒否エラーを取得します。

Errno::EACCES 

Permission denied - D:/MyDirectory/public/uploads/tmp/20110211-1021-3252-6545/my_file.txt. 

何が問題なのですか。

答えて

8

私はHerokuを使用してこの問題を解決し、アップローダのキャッシュディレクトリを変更して解決しました。

def cache_dir 
    "#{Rails.root}/tmp/uploads" 
end 
+0

正確に。あなたは 'D:/ MyDirectory/public/uploads ... 'をしようとしていたようにパブリックディレクトリにアクセスすることはできません。 – iwasrobbed

+0

説明といくつかのリンクは、[この回答](http:// stackoverflow。 com/a/9877639/664833)。 – user664833

関連する問題