画像を開き、画像を確認してから再度開く必要があります (以下の PIL ドキュメントからの引用の最後の文を参照)
im.verify()
画像データを実際にデコードせずに、ファイルが壊れているかどうかを判断しようとします。このメソッドで問題が見つかった場合は、適切な例外が発生します。このメソッドは、新しく開いた画像に対してのみ機能します。イメージが既にロードされている場合、結果は未定義です。また、この方法を使用した後にイメージをロードする必要がある場合は、イメージ ファイルを再度開く必要があります。
これは私のコードにあるものpicture
で、django InMemoryUploadedFile オブジェクトは次のとおりです。
img = Image.open(picture)
img.verify()
img = Image.open(picture)
最初の 2 行は正常に動作しますが、3 行目で次のエラーが発生します (画像を「再度開く」ことを試みています)。
IOError: cannot identify image file
ドキュメントが示唆するように、画像ファイルを再度開く適切な方法は何ですか?