从 S3 检索文件。 - 载波 Rails Gem
Retrieve file from S3. - Carrierwave Rails Gem
我正在我的 Rails 应用程序中实施带有雾存储的 Carrierwave。这个应用程序的全部目的是存储 pdf 文章,并让任何有权访问该应用程序的人都能够检索它们。现在,我有存储文章 pdf 的功能,效果很好。但是,现在我需要能够从 S3 检索 pdf。这可能吗?我注意到文档中有一个 uploader.retrieve_from_store!("my_file.png")
方法。我试图 运行 在控制台中执行此操作,但出现此错误 NoMethodError: undefined method retrieve_from_store! for ArticleUploader:Class
任何对此的帮助都将非常有用!到目前为止,我还没有找到任何合适的答案。谢谢!
文章上传者
class ArticleUploader < CarrierWave::Uploader::Base
storage :fog
def extension_whitelist
%w(jpg jpeg gif png pdf)
end
end
文章模型
class Article < ApplicationRecord
mount_uploader :file, ArticleUploader
validates :title, presence: :true
validates :publication_date, presence: :true
validates :source, presence: :true
end
您可以使用 carrierwave 的方法访问它,在您的情况下:
article = Article.find(1)
article.file.url
如果您在开发中,它将输出 file
的路径,如果您在生产中并使用 S3,它将输出整个 url,例如 http://s3.amazonaws.com/<vendor>/articles/1/file.pdf
.
您可以在官方文档中找到更多信息:
https://github.com/carrierwaveuploader/carrierwave#activerecord
在 http://railscasts.com/episodes/253-carrierwave-file-uploads
上还有一个旧的 rails
我正在我的 Rails 应用程序中实施带有雾存储的 Carrierwave。这个应用程序的全部目的是存储 pdf 文章,并让任何有权访问该应用程序的人都能够检索它们。现在,我有存储文章 pdf 的功能,效果很好。但是,现在我需要能够从 S3 检索 pdf。这可能吗?我注意到文档中有一个 uploader.retrieve_from_store!("my_file.png")
方法。我试图 运行 在控制台中执行此操作,但出现此错误 NoMethodError: undefined method retrieve_from_store! for ArticleUploader:Class
任何对此的帮助都将非常有用!到目前为止,我还没有找到任何合适的答案。谢谢!
文章上传者
class ArticleUploader < CarrierWave::Uploader::Base
storage :fog
def extension_whitelist
%w(jpg jpeg gif png pdf)
end
end
文章模型
class Article < ApplicationRecord
mount_uploader :file, ArticleUploader
validates :title, presence: :true
validates :publication_date, presence: :true
validates :source, presence: :true
end
您可以使用 carrierwave 的方法访问它,在您的情况下:
article = Article.find(1)
article.file.url
如果您在开发中,它将输出 file
的路径,如果您在生产中并使用 S3,它将输出整个 url,例如 http://s3.amazonaws.com/<vendor>/articles/1/file.pdf
.
您可以在官方文档中找到更多信息:
https://github.com/carrierwaveuploader/carrierwave#activerecord
在 http://railscasts.com/episodes/253-carrierwave-file-uploads
上还有一个旧的 rails