Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby 如何检查JPEG是否可读_Ruby_Jpeg_Open Uri - Fatal编程技术网

Ruby 如何检查JPEG是否可读

Ruby 如何检查JPEG是否可读,ruby,jpeg,open-uri,Ruby,Jpeg,Open Uri,如果图片查看器告诉我由于某种原因无法打开,是否可以检查我下载的图片是否可读 例如: "invalid byte sequence in conversion input" when mousepad is used because Ephoto could not open it on Linux ) in Ruby 我用OpenURI下载我的图片,然后将其输出到一个文件中。是否有允许这样做的函数/gem pic_buffer = open(my_link, "User-Agent" =>

如果图片查看器告诉我由于某种原因无法打开,是否可以检查我下载的图片是否可读

例如:

"invalid byte sequence in conversion input" when mousepad is used because Ephoto could not open it on Linux ) in Ruby
我用OpenURI下载我的图片,然后将其输出到一个文件中。是否有允许这样做的函数/gem

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
picu buffer=open(我的链接,“用户代理”=>“Ruby/{Ruby\u VERSION}”)
if函数检查图片是否可读(pic缓冲区)=false
中止(“文件不可读”)
结束
如果PICU缓冲区!=无
File.open(name_buffer+“.jpg”,“wb”)do | pic|

pic判断JPEG图像(与大多数压缩图像格式一样)的唯一真实方法是对其进行解压缩。您可以对流结构执行一些健全性检查,以显示一些无法打开的流。但是,压缩数据中的错误只能通过扩展来发现。在JPEG中没有CRC检查,就像在PNG中一样。

没有,我想知道如何在RubyI中进行CRC检查,我会这样做的,thanks@MoH.通过阅读帮助页面并复习其他问题来更改问题(感谢您的建议),您将找到答案。这是一本在线参考书,你在这本书中写了一篇文章来帮助其他人。没有必要告诉我们您做了更改,我们可以看到更改的时间和内容,因为SO维护了一个编辑历史记录。我不知道,感谢tipAny提供的关于如何扩展并使用原生ruby和/或gems进行检查的线索?没有。你必须找到一个与他们合作的解码软件。