使用Paperclip,S3和Roo导入excel文件

我试图使用Paperclip导入一个Excel文件,并将其保存到S3,然后使用Roo gem提取和parsing。

当我尝试这样的事情:

@excel = Excel.new(@manifest.attachment.url) 

我得到以下错误:

  http://s3.amazonaws.com/mybucket/attachments/22/manifest.xls?1343835058 is not an Excel file 

我猜附加的时间戳文件的结尾是导致Roo不认为这是一个Excel文件。

我该如何解决?

要删除时间戳,您需要在url方法中传递“false”参数。

对你来说:@excel = Excel.new(@ manifest.attachment.url)

你应该试试@excel = Excel.new(@ manifest.attachment.url(:original,false)),那么你会得到以下url:

http://s3.amazonaws.com/mybucket/attachments/22/original/manifest.xls

但是,如果你正在尝试检索图像url,那么你应该有@ manifest.attachment.url(:large,false)。 注意:它可以是:大,中:或模型中的自定义样式。

我希望这可以帮助你解决你的问题。

谢谢