iCloudに写真をアップロードしようとして「このファイルのサイズが不正です」と表示されたときの原因と対処法を解説します。
iCloudに写真をアップロードしようとしたとき、「このファイルのサイズが不正です」や「The dimensions of this file is invalid」と表示され、困ったことはありませんか?僕も昔のiPhoneで撮った写真をアップロードしていて、この問題に遭遇しました。
実はこれ、画像自体に問題があるのではなく、Exifという隠れた情報の中のサイズデータが欠けていることが原因です。
この記事では、PythonとExifToolを使ってそのExif情報を正しく修正する方法を紹介します。
この方法を使えば、複数の画像でも一括で修正でき、iCloudにスムーズにアップロードできる状態に整えることができます。
iCloud 写真に JPEG画像をアップロードしようとしたら、
「このファイルサイズは無効です」または「The dimensions of this file is invalid」
というエラーが出て、アップロードできないことがあります。
画像の実際のサイズは正常でも、Exifメタデータの中にある ExifImageWidth や ExifImageHeight が 0 のままになっていると、iCloudがその画像を「不正な画像」と判断してアップロードを拒否します。
以下のPythonスクリプトを使えば、Exifサイズが未設定のJPEG画像を一括で修正できます。
了解です!以下は「必要なもの」のセクションを、インストール確認 → なければインストール方法を案内という形に書き換えたバージョンです👇
Exif情報を修正するには、以下のツールが必要です。まずはそれぞれがインストールされているかを確認しましょう。
ターミナル(またはコマンドプロンプト)で以下を実行してください。
Python 3.12.4 のように表示されればOKです。
command not found などと表示された場合は、Python公式サイトからインストールしてください。
ターミナル(またはコマンドプロンプト)で以下を実行してください。
12.76 のようにバージョン番号が表示されればOKです。
command not found などと表示された場合は以下の手順でインストールしてください。
ExifTool公式サイト から Windows版をダウンロードし、展開後 exiftool(-k).exe を exiftool.exe にリネームして使うようです。
僕はMacなので試していませんが、詳しくは「Installing ExifTool」をご覧ください。
以下を実行してインストールします。
これで準備が整いました。
続いて、Pythonスクリプトを使ってExif情報を修正していきましょう。
画像が入っているディレクトリに、テキストエディタで以下のコードをコピペして fix_exif_dimensions.py というファイルを作成します。
今作成した「fix_exif_dimensions.py」と同じ場所に「 images 」フォルダを作り、テスト用に画像をコピーして数枚入れます。
その後、ターミナルで以下のように実行します。
すると、ターミナルに以下のように表示されます。Exif情報がおかしいものは修正し、Exif情報が正しいものはスキップするようになっています。
修正された images ディレクトリの中の画像を iCloud にアップロードしてみましょう。
Exifサイズが正しく設定されれば、iCloud 写真に正常にアップロードできるようになります。
写真を開いてみると縦長の画像なのに、Exif情報では横幅の方が長いということがあります。
これは、Exif情報では写真を常に横長の情報として保存していて、「 Orientation 」という項目でどのように回転させるかの情報を保持しています。
なので、Exif情報の横幅と高さの関係は、常に横長になっていて問題ないようです。