gpt4 book ai didi

ruby-on-rails - 远程或直接提供图像到 Amazon S3 - Dragonfly Gem

转载 作者:行者123 更新时间:2023-12-04 06:33:52 25 4
gpt4 key购买 nike

我在 Heroku 上有一个应用程序,我正在使用 Amazon S3 存储图像。我已经使用了我所知道的所有缓存技术,但似乎图像加载速度太慢,这让一些用户望而却步。

此刻用户得到

/media/W1siZiIsIjIwMTQvMDIvMjEvMjMvMjAvMDQvNTY1L01pa2VfOTIzMi5qcGciXV0/Mike_150.jpg?sha=d8993be2

根据 instructions 必须使用

Dragonfly.app.remote_url_for(uid)

他们会得到

http://my-bucket.s3.amazonaws.com/2011/04/01/03/03/05/243/file.jpg

但是当我添加这一行时,没有任何反应。

#require 'dragonfly/s3_data_store'
require 'dragonfly'

# Configure
Dragonfly.app.configure do
plugin :imagemagick

protect_from_dos_attacks true
secret "2558d89a83f18f6da793e3b6dccc888c17642563e9ddedf456356f4c2d79"

url_format '/media/:job/:name'


response_header 'Cache-Control', 'public, max-age=3600' # You can set custom response headers
response_header 'Cache-Control' do |job, request, headers| # either directly or with a block
job.image? ? "public, max-age=10000000" : "private" # setting to nil removes the header
end


allow_legacy_urls true


if Rails.env.test? || Rails.env.development?
datastore :file,
root_path: Rails.root.join('public/system/dragonfly', Rails.env),
server_root: Rails.root.join('public')
else
datastore :s3,
bucket_name: ENV['S3_BUCKET_NAME'],
access_key_id: ENV['S3_KEY'],
secret_access_key: ENV['S3_SECRET'],
url_scheme: 'http',
url_host: 'mybucket.s3.amazonaws.com'

end

end


# Logger
Dragonfly.logger = Rails.logger

Dragonfly.app.remote_url_for(uid)

# Mount as middleware
Rails.application.middleware.use Dragonfly::Middleware

# Add model functionality
if defined?(ActiveRecord::Base)
ActiveRecord::Base.extend Dragonfly::Model
ActiveRecord::Base.extend Dragonfly::Model::Validations
end
  • 我做错了什么?
  • 服务文件远程 URL 是否会改变应用性能?

最佳答案

您直接从 S3 提供图像。根据您的用户在世界上的哪个位置与 S3 存储桶的区域,延迟和速度可能会有所不同。

加快速度的一个选择是使用 AWS Cloudfront CDN 并将 S3 存储桶作为源服务器。

  1. 了解 Cloudfront and S3
  2. 也在 Dargonfly 中引用

关于ruby-on-rails - 远程或直接提供图像到 Amazon S3 - Dragonfly Gem,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22008030/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com