回形针 Rails Gem 没有给予适当的 URL
Paperclip Rails Gem Not giving proper URL
我设置回形针来处理我的 PDF 附件。目前,当我转到控制台并搜索 Model.certificate.url 时,我会得到一个 URL:
//bucketname-staging.s3.amazonaws.com/policies/certificates/000/001/163/original/certificate_bc4525d9-8d41-4635-8f26-ba24b0b69037.pdf?1493755437
但是,我无法访问此 link,因为没有 HTTP/HTTPS 开头与之关联。如果我使用 Model.certificate.expiring_url,我会得到完整的 link 和 HTTP/HTTPs。
这是为什么?
这是我在 production.rb
中的选项
config.paperclip_defaults = {
url: ":s3_domain_url",
path: "/:class/:attachment/:id_partition/:style/:filename",
storage: :s3,
s3_credentials: {
bucket: ENV.fetch('S3_BUCKET_NAME'),
access_key_id: ENV.fetch('AWS_ACCESS_KEY_ID'),
secret_access_key: ENV.fetch('AWS_SECRET_ACCESS_KEY'),
s3_region: ENV.fetch('AWS_REGION'),
}
}
您的配置应包括 s3_protocol
选项,在 docs:
中提到
config.paperclip_defaults = {
url: ":s3_domain_url",
path: "/:class/:attachment/:id_partition/:style/:filename",
storage: :s3,
s3_protocol: 'http',
s3_credentials: {
bucket: ENV.fetch('S3_BUCKET_NAME'),
access_key_id: ENV.fetch('AWS_ACCESS_KEY_ID'),
secret_access_key: ENV.fetch('AWS_SECRET_ACCESS_KEY'),
s3_region: ENV.fetch('AWS_REGION'),
}
}
我设置回形针来处理我的 PDF 附件。目前,当我转到控制台并搜索 Model.certificate.url 时,我会得到一个 URL:
//bucketname-staging.s3.amazonaws.com/policies/certificates/000/001/163/original/certificate_bc4525d9-8d41-4635-8f26-ba24b0b69037.pdf?1493755437
但是,我无法访问此 link,因为没有 HTTP/HTTPS 开头与之关联。如果我使用 Model.certificate.expiring_url,我会得到完整的 link 和 HTTP/HTTPs。
这是为什么?
这是我在 production.rb
config.paperclip_defaults = {
url: ":s3_domain_url",
path: "/:class/:attachment/:id_partition/:style/:filename",
storage: :s3,
s3_credentials: {
bucket: ENV.fetch('S3_BUCKET_NAME'),
access_key_id: ENV.fetch('AWS_ACCESS_KEY_ID'),
secret_access_key: ENV.fetch('AWS_SECRET_ACCESS_KEY'),
s3_region: ENV.fetch('AWS_REGION'),
}
}
您的配置应包括 s3_protocol
选项,在 docs:
config.paperclip_defaults = {
url: ":s3_domain_url",
path: "/:class/:attachment/:id_partition/:style/:filename",
storage: :s3,
s3_protocol: 'http',
s3_credentials: {
bucket: ENV.fetch('S3_BUCKET_NAME'),
access_key_id: ENV.fetch('AWS_ACCESS_KEY_ID'),
secret_access_key: ENV.fetch('AWS_SECRET_ACCESS_KEY'),
s3_region: ENV.fetch('AWS_REGION'),
}
}