是否可以检查我下载的图片是否可读,如果图片查看器告诉我由于某种原因无法打开它。
示例:
"invalid byte sequence in conversion input" when mousepad is used because Ephoto could not open it on Linux ) in Ruby
我使用OpenURI下载我的图片,然后将其输出到一个文件中。是否有允许这样做的功能/宝石?
pic_buffer = open(my_link, "User-Agent" => "Ruby/#{RUBY_VERSION}")
if function_to_check_if_the_picture_is_readable(pic_buffer) == false
abort("file is unreadable")
end
if pic_buffer != nil
File.open(name_buffer + ".jpg", 'wb') do |pic|
pic << pic_buffer.read
end
end
我只下载JPEG图片。
答案 0 :(得分:2)
判断JPEG图像(大多数压缩图像格式为真)的唯一真实方法是解压缩它。您可以对流结构进行一些健全性检查,以显示一些无法打开的流。但是,压缩数据中的错误只能通过扩展它们来找到。在PNG中没有CRC检查。