将 carrierwave 与 Bearer token 授权一起使用

Use carrierwave with Bearer token Authorization

我目前正在使用载波通过 remote_url 方法上传照片。

今天我可以使用 Bearer Authorization 令牌保护的 link。不幸的是,我们的图像提供商不允许我们通过 ?access_token=VALID_TOKEN 协议访问图像。

是否可以配置载波在Authorizationheader中通过Bearer VALID_TOKEN?或者解决我的问题的其他想法?

使用以下代码创建文件 config/initializers/bearer.rb

module CarrierWave
  module Uploader
    module Download
      class RemoteFile
        def file
          if @file.blank?
            @file = Kernel.open(@uri.to_s, 'Authorization' => 'Bearer VALID TOKEN')
            @file = @file.is_a?(String) ? StringIO.new(@file) : @file
          end
          @file

        rescue Exception => e
          raise CarrierWave::DownloadError, "could not download file: #{e.message}"
        end
      end
    end
  end
end

现在您的令牌将被发送给每个 remote_url