Ruby on rails Heroku上的RMagick图像类型检测失败

Ruby on rails Heroku上的RMagick图像类型检测失败,ruby-on-rails,ruby,heroku,imagemagick,rmagick,Ruby On Rails,Ruby,Heroku,Imagemagick,Rmagick,在文件扩展名不可用或错误的情况下,我们使用RMagick来识别图像类型。format属性适用于我的本地Mac dev框,但在Heroku上返回nil irb> require 'RMagick' irb> image = Magick::Image::read('https://s3.amazonaws.com/com.appgrinders.test/images/dog.gif')[0] irb> image.format => nil 有什么想法吗?如果您查看Im

在文件扩展名不可用或错误的情况下,我们使用RMagick来识别图像类型。
format
属性适用于我的本地Mac dev框,但在Heroku上返回nil

irb> require 'RMagick'
irb> image = Magick::Image::read('https://s3.amazonaws.com/com.appgrinders.test/images/dog.gif')[0]
irb> image.format
=> nil

有什么想法吗?

如果您查看ImageMagick页面,您可以看到负责这些图像文件信息的命令

您是否尝试在Heroku控制台中运行标识命令

看:

或:


您可以升级Heroku上的ImageMagick吗?

如果您查看ImageMagick页面,您可以看到负责这些图像文件信息的命令

您是否尝试在Heroku控制台中运行标识命令

看:

或:


您可以升级Heroku上的ImageMagick吗?

如果您查看ImageMagick页面,您可以看到负责这些图像文件信息的命令

您是否尝试在Heroku控制台中运行标识命令

看:

或:


您可以升级Heroku上的ImageMagick吗?

如果您查看ImageMagick页面,您可以看到负责这些图像文件信息的命令

您是否尝试在Heroku控制台中运行标识命令

看:

或:


你能升级Heroku上的ImageMagick吗?

显然这是因为ImageMagick无法读取远程图像(请参阅),但奇怪的是,问题只在Heroku(?)上出现。基础ImageMagick格式返回“HTTPS”,而RMagick格式返回nil

在我的Mac电脑上:

$ identify -verbose https://s3.amazonaws.com/com.appgrinders.test/images/dog.gif

Format: GIF (CompuServe graphics interchange format)
...
关于Heroku:

$ identify -verbose https://s3.amazonaws.com/com.appgrinders.test/images/dog.gif

Format: HTTPS
...

因此,答案是在本地复制图像并在那里读取。

显然,这是因为ImageMagick无法读取远程图像(请参阅),尽管奇怪的是,问题只在Heroku(?)上出现。基础ImageMagick格式返回“HTTPS”,而RMagick格式返回nil

在我的Mac电脑上:

$ identify -verbose https://s3.amazonaws.com/com.appgrinders.test/images/dog.gif

Format: GIF (CompuServe graphics interchange format)
...
关于Heroku:

$ identify -verbose https://s3.amazonaws.com/com.appgrinders.test/images/dog.gif

Format: HTTPS
...

因此,答案是在本地复制图像并在那里读取。

显然,这是因为ImageMagick无法读取远程图像(请参阅),尽管奇怪的是,问题只在Heroku(?)上出现。基础ImageMagick格式返回“HTTPS”,而RMagick格式返回nil

在我的Mac电脑上:

$ identify -verbose https://s3.amazonaws.com/com.appgrinders.test/images/dog.gif

Format: GIF (CompuServe graphics interchange format)
...
关于Heroku:

$ identify -verbose https://s3.amazonaws.com/com.appgrinders.test/images/dog.gif

Format: HTTPS
...

因此,答案是在本地复制图像并在那里读取。

显然,这是因为ImageMagick无法读取远程图像(请参阅),尽管奇怪的是,问题只在Heroku(?)上出现。基础ImageMagick格式返回“HTTPS”,而RMagick格式返回nil

在我的Mac电脑上:

$ identify -verbose https://s3.amazonaws.com/com.appgrinders.test/images/dog.gif

Format: GIF (CompuServe graphics interchange format)
...
关于Heroku:

$ identify -verbose https://s3.amazonaws.com/com.appgrinders.test/images/dog.gif

Format: HTTPS
...

因此,答案是在本地复制图像并在那里读取。

对我来说,这就像删除我试图转换的图像的S3URL中的https一样简单

image_url = image_url.gsub('https://', 'http')

现在我可以转换任何图像。我的bucket可以提供来自http和https的内容。

对我来说,这就像删除我试图转换的图像的s3url中的https一样简单

image_url = image_url.gsub('https://', 'http')

现在我可以转换任何图像。我的bucket可以提供来自http和https的内容。

对我来说,这就像删除我试图转换的图像的s3url中的https一样简单

image_url = image_url.gsub('https://', 'http')

现在我可以转换任何图像。我的bucket可以提供来自http和https的内容。

对我来说,这就像删除我试图转换的图像的s3url中的https一样简单

image_url = image_url.gsub('https://', 'http')

现在我可以转换任何图像。我的bucket可以从http和https提供内容。

您在这两台机器上使用相同版本的ImageMagick/RMagick吗?@dlemstra-相同版本的RMagick(2.13.2),尽管我刚刚注意到我的Mac上的ImageMagick版本是6.8.0-10,而Heroku运行的是6.5.7-8,尽管ImageMagick更改日志中没有任何内容表明这一点,
identify
检查@Adriano建议的方法是否是最好的方法,但您是否可以尝试使用并查看其输出结果?他们都使用相同的ImageMagick,但仍然很好奇。你在这两台机器上都使用相同版本的ImageMagick/RMagick吗?@dlemstra-RMagick(2.13.2)的相同版本,但刚刚注意到我的Mac上的ImageMagick版本是6.8.0-10,而Heroku运行的是6.5.7-8,尽管ImageMagick更改日志中没有任何内容表明这一点,
identify
检查@Adriano建议的方法是否是最好的方法,但您是否可以尝试使用并查看其输出结果?他们都使用相同的ImageMagick,但仍然很好奇。你在这两台机器上都使用相同版本的ImageMagick/RMagick吗?@dlemstra-RMagick(2.13.2)的相同版本,但刚刚注意到我的Mac上的ImageMagick版本是6.8.0-10,而Heroku运行的是6.5.7-8,尽管ImageMagick更改日志中没有任何内容表明这一点,
identify
检查@Adriano建议的方法是否是最好的方法,但您是否可以尝试使用并查看其输出结果?他们都使用相同的ImageMagick,但仍然很好奇。你在这两台机器上都使用相同版本的ImageMagick/RMagick吗?@dlemstra-RMagick(2.13.2)的相同版本,但刚刚注意到我的Mac上的ImageMagick版本是6.8.0-10,而Heroku运行的是6.5.7-8,尽管ImageMagick更改日志中没有任何内容表明这一点,
identify
检查@Adriano建议的方法是否是最好的方法,但您是否可以尝试使用并查看其输出结果?他们都使用相同的ImageMagick,但仍然很好奇。谢谢,我检查了这一点,虽然本地图像的格式在两个平台上都正确返回,但远程图像的格式在Heroku上失败-请参阅我的答案了解详细信息。谢谢,我检查了这一点,虽然本地图像的格式在两个平台上都正确返回,远程图像在Heroku上失败-有关详细信息,请参阅我的答案。谢谢,我检查了这个问题,虽然本地图像的格式在两个平台上都正确返回,但在Herok上失败