4

我有应用程序被部署到heroku使用亚马逊s3发布图像桶。这工作非常好。但是,当获取相同的图像时,它会给出错误:Errno :: ENOENT(没有这样的文件或目录)在亚马逊-s3

Errno::ENOENT (No such file or directory showing path s3.amazonaws.com/bucket_name/app/public/messages/images/000/000/061/thumb/images.jpeg?1362410115) 

相同路径在浏览器的url中复制和粘贴不起作用。如果我使用的水桶名称终点它的工作原理即与以下路径

/bucket_name.s3.amazonaws.com/app/public/messages/images/000/000/061/thumb/images.jpeg?1362410115. 

但我不知道如何在我的模型设定这个网址。我遵循heroku的方式配置aws-sdk。

https://devcenter.heroku.com/articles/paperclip-s3 

模型has_attached_file好像我缺少这里的东西。对于其余配置,您可以检查上面的链接。

has_attached_file :image, :styles => { :medium => "100x100>", :thumb => "100x100>" } 

感谢

+0

对于其他人,当我试图从S3复制文件并收到0字节时,收到此错误消息。检查S3对象的'content_length'以查看这是否是您的问题。 – 2015-03-10 16:26:25

回答

2

包括配置/初始化/ paper_clip.rb定的代码解决了我的问题。

Paperclip::Attachment.default_options.merge!(
     :url => ':s3_domain_url', 
     :path => 'app/public/:class/:attachment/:id_partition/:style/:filename' 
    ) 
+0

这对我有效。 – 2013-03-07 13:57:47

+0

这不适合我。我应该在文件中还有其他东西吗?我刚刚复制并粘贴了上面的代码片段。 – Andy 2013-06-25 21:24:51

+0

Thiw也为我工作。它一开始并没有工作,但那是因为我没有上传新图像,并允许它工作。 谢谢! – Andy 2013-06-25 21:31:46

相关问题