0

我正在尝试使用 Paperclip 导入一个 excel 文件并将其保存到 S3,然后使用 Roo gem 进行提取和解析。

当我尝试这样的事情时:

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

我收到以下错误:

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

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

我该如何解决?

4

1 回答 1

2

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

为你:@excel = Excel.new(@manifest.attachment.url)

您应该尝试使用 @excel = Excel.new(@manifest.attachment.url(:original, false)) 那么您将获得以下网址:

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

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

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

谢谢

于 2012-12-20T17:59:21.957 回答