Briswell Tech Blog

ブリスウェルのテックブログです

Exif情報を知る

久しぶりの投稿になります
新入社員も入ってきて駆け出し社員ではなくなりつつある中堅社員(?)kobaです。
今年も残り少しですね。。。年々早く時間が過ぎていくような気がしています。

ある案件で写真をアップロード時、Exif情報を画面上に出してほしいとの要望がありました。

エグジフ?イグジフ?Exif情報って??

Exif情報ってなんだろうと思い調べてみると
カメラの機種や撮影時の条件情報を画像に埋め込んでいる情報のことを指しており
デジタル機器のカメラで撮影した写真には
ほとんどExif情報が自動付与されているみたいです

Exif情報の例としては

撮影日時、位置情報、撮影機器名、画像の解像度、フラッシュ使用の有無

などがあります。
フラッシュの有無までわかるとはすごいですね(実用性あるかはわかりませんが笑)

iPhoneで撮影した写真をアップロードしてもExif情報読み取ってくれない?

今回はアップロードした写真を表示する他に
アップロードした写真のExif情報(撮影日時、位置情報)を読み取って
Exif情報あれば撮影日時、位置情報のテキストリンクを表示する要件でした。

f:id:briswellyuki:20211202180813p:plain
Androidでアップロード時の状態

ただiPhoneで撮影した写真をアップロードすると
何故かExif情報読み取ってくれません。
AndroidだとExif情報表示されるのに....

f:id:briswellyuki:20211203111545p:plain
iPhoneでアップロード時の状態

iPhoneの写真がExif情報読み取ってくれない原因?

調べてみるとiPhoneから
SNSへのアップロード時やメッセージへの添付の際に
Exif情報が削除される仕様になっている旨の記載がありました。
上記の仕様で読み取ってくれないのだろうかと考えました。
参照Wiki

解決法

いくつか解決法が記載してあるサイトあったので試してみました。
参照サイト

①メールの添付画像をアップロード
1.該当画像をメールで自分に送信

2.メール添付画像を保存

3.保存した画像をアップロード

上記の方法を試しましたところ、表示されました!
f:id:briswellyuki:20211203122731p:plain

iPhoneカメラ設定変更
1.iPhoneの設定で[カメラ]選択
f:id:briswellyuki:20211203122328p:plain

2.[フォーマット]選択
f:id:briswellyuki:20211203122400p:plain

3.[互換性優先]選択
f:id:briswellyuki:20211203122414p:plain

上記の方法で撮影した写真をアップロードしたところ
表示されました!
上記3の写真でわかりますが、
iPhoneはデフォルトでフォーマットの設定が[高効率]になっています。
[高効率]では画像形式がHEIFで保存されてしまうので
Exifの対応画像形式ではなかったことによることが
Exif情報読み取れない原因だったようです

まとめ

Exif情報は個人情報が特定できる恐れがあるので
気軽にSNSにアップロードできてしまうスマホから
アップロードするときには注意が必要です。
iPhoneSNSへのアップロード時やメッセージへの添付の際に
Exif情報が削除される仕様はある意味優しいかもしれませんね
(今回のような要望がある場合には少し手間がかかりますが....)



「業務のアイカタであり続けたい」
中小企業様向けERPソリューション
ai-cata.com