0

我正在尝试使用 taglib-ruby 读取 APIC 图片并将其保存到文件中,但我很难理解如何去做。据我所知,图像是“image/jpeg”和 ASCII-8BIT。有人试图做到这一点吗?

4

2 回答 2

1

您还在taglib-ruby 问题中提出了这个问题。那里的答案:

该文档包含一个读取图片数据的示例,请参阅TagLib::ID3v2::Tag 示例

然后只需将图片数据写入文件,例如这样:

TagLib::MPEG::File.open("file.mp3") do |file|
  tag = file.id3v2_tag
  covers = tag.frame_list('APIC')
  unless covers.empty?
    cover = covers.first
    File.open("output.jpg", "wb") do |f|
      f.write(cover.picture)
    end
  end
end

您还应该使用检查图片的 MIME 类型cover.mime_type并相应地调整文件扩展名。

于 2013-05-01T14:47:00.640 回答
0

这最终解决了我遇到的问题 - 我不明白如何为 Paperclip 准备提取的图像。https://gist.github.com/adamyonk/5621295

于 2013-05-21T16:47:47.523 回答