2016-06-20 3 views
-2

画像ビューアが何らかの理由でそれを開くことができないと言った場合、ダウンロードした画像が読み込み可能であることを確認できますか?JPEGが可読であるかどうかを確認する方法

例:

"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

いいえ、私はRubyでそれを行う方法を知りたいです –

+0

ありがとう –

+0

@Mo H.が質問を変更しました(アドバイスありがとう) –

答えて

2

ほとんどの圧縮された画像フォーマットでJPEG画像が圧縮解除されているかどうかを確認する唯一の方法です。あなたは、いくつかのストリームを表示できないストリーム構造についていくつかの健全性チェックを行うことができます。ただし、圧縮データ内のエラーは、それらを展開することによってのみ見つけることができます。 JPEGにはPNGにあるようなCRCチェックはありません。

+0

ネイティブルビーや宝石を使って拡大して確認する方法についての手掛かりはありますか? –

+0

そうではありません。デコードされたものを見つける必要があります。 – user3344003

関連する問題