CarrierWave S3权限被拒绝尝试从tmp读取错误

Oks*_*ana 4 ruby-on-rails carrierwave

使用CarrierWave和Amazon S3.CarrierWave配置:

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
Run Code Online (Sandbox Code Playgroud)

我在上传到s3时尝试从tmp目录读取时收到权限被拒绝错误.

Errno::EACCES

Permission denied - D:/MyDirectory/public/uploads/tmp/20110211-1021-3252-6545/my_file.txt.
Run Code Online (Sandbox Code Playgroud)

怎么了?

小智 9

我使用Heroku遇到了这个问题,并通过更改上传器中的缓存目录解决了这个问题.

def cache_dir
  "#{Rails.root}/tmp/uploads"
end
Run Code Online (Sandbox Code Playgroud)