jQueryを使用して画像からEXIF情報を抽出しようとしています。
ここで見つけたスクリプトを使用してみましたが、外部でホストされている画像ファイルからexifデータを読み取ることができません。ここに簡単なサンプルページを投稿しました。コードは小さいので、ソースを表示するだけで、私が試したことを確認できます。
誰かが私が間違っていることを知っているか、それを行う別の方法があるかどうかを知っていますか?
-マット
プラグインは、バイナリXmlHttpRequestを介して画像を再度要求することで機能します。これは、同一生成元ポリシーのためにリモートドメインでは実行できないことです...ブラウザは、(デフォルトで)どのドメインが相互作用するかをかなりうまく分離します。他の人と一緒に、これはそれらのケースの1つです(セキュリティ上の理由から)。
申し訳ありませんが、答えはひどいですが、あなたが制御していないドメインでは、リモートイメージでこれを行うことはできないと思います。
同じホスト名で画像をプロキシするか、外部ホストに適切なアクセス制御ヘッダーを送信させて、JavaScript を介してサイトのデータを要求できるようにする必要があります。
私はいつも、JavaScriptで何でもできると人々がどう思っているのか疑問に思いました。リモートイメージが与えられた場合、サーバーにイメージをダウンロードしてそこで特別な処理を実行できる(すべきである)ことは明らかではありませんか?
また、jQueryがjavascriptではできないことを実行できると思う理由は何ですか?あなたが探しているのは、最高の状態で、プレーンなJavaScriptでサポートする必要があるものです。
本当に、リモートバイナリファイルをローカルで解析しますか?確かにそれは素晴らしいハックですが、実際の/プロのソリューションに落ち着いて、サーバーに画像を解析させてみませんか?
さておき、JS libはリモートファイルで動作できず、これはプレーンJSでは実行できません。
サーバーにファイルをダウンロードし、そこから解析する必要があります。