为什么新文件被阻止?

时间:2019-09-03 10:19:54

标签: ruby-on-rails google-cloud-platform ruby-on-rails-5 google-cloud-storage

一年多来,我有一个有效的Rails应用程序,可以将文件上传到Google Cloud Storage。最近,我发现所有新文件(图像)都不再显示在该网站上。

我没有触摸Google云端存储上的任何内容-我没有更改任何访问设置。

我为每个对象的所有用户启用了段级访问。但是对于新文件,由于某种原因,访问将被覆盖。也就是说,访问“并不适合所有人”。

我不明白这是怎么发生的。

当我尝试打开一个新文件时,出现错误:

  

匿名呼叫者没有storage.objects.get访问files.mysite.com/uploads/images/51/ar/6h/0dafasdae64590c0.jpg

我当前使用的代码是:

# frozen_string_literal: true

CarrierWave.configure do |config|
  config.storage = :file

  config.permissions = 0o644
  config.directory_permissions = 0o755

  # config.cache_dir = Rails.root.join('tmp')

  config.cache_dir = '/tmp'

  if Rails.env.development?
    config.root = Rails.root.join('public')
    config.asset_host = "#{Settings.app.protocol}#{Settings.app.host}"
  end

  if Rails.env.production?
    config.fog_provider = 'fog/google'
    config.fog_credentials = {
      path_style: true,
      provider: 'Google',
      google_storage_access_key_id: Settings.api.google.storage.access_key,
      google_storage_secret_access_key: Settings.api.google.storage.secret_access_key
    }
    config.fog_directory = Settings.api.google.storage.bucket
    config.storage = :fog
    config.asset_host = "https://#{Settings.api.google.storage.bucket}"
  end
end

module CarrierWave
  module MiniMagick
    def quality(percentage)
      manipulate! do |img|
        img.quality(percentage.to_s)
        img = yield(img) if block_given?
        img
      end
    end
  end
end

0 个答案:

没有答案
相关问题