2017-04-15 5 views
0

カメラが常時(約10秒ごとに)撮影するように設定され、画像がサーバー上のフォルダに送信され、別のプログラムではそのフォルダを常に最新の状態にしておくので、常にその特定のフォルダに最新の画像が保存されます。JavaScriptでEXIFデータ(具体的にはdateTimeとGPSLatitudeとGPSLongitude)を抽出する

最新の画像を取得して表示するために、常に更新され、その画像の場所を参照するHTML文書も存在します。

私がしようとしているのは、アクティブなWebページから画像を保存してそのプロパティを見ると、確認したEXIFデータを抽出することです。私はDateCreated(私はこれが日時であると考えている)と緯度と経度を(私は緯度(数値)GPSLatitudeGPSLongitudeであると信じて)表示したいです。

このライブラリには、exif-jsが出てきました。これは、JavaScriptで同じことをやろうとしているほとんどの人のようです。私のコードは、img id = "...."と変数名(下記参照)を変更したことを除いて、README.mdファイルの最後のコードと同じように見えます。それはうまくいくはずだが、データを生成していないようだ。私の空スパン要素は空のままです。

ページがリフレッシュする前の短い時間間隔に問題はありますか?

ありがとうございました!

ここに私のコードは、(DateTime情報を取得しようとしている)のように見えます。 GPSLatitudeタグとGPSLongitudeタグも試しました。

<!-- Library to extract EXIF data --> 
 

 
<script src="vendors/exif-js/exif-js"></script> 
 
<script type="text/javascript"> 
 
window.onload=getExif; 
 
function getExif() 
 
{ 
 
    var img1 = document.getElementById("img1"); 
 
    EXIF.getData(img1, function() { 
 
     var time = EXIF.getTag(this, "DateTime"); 
 
     var img1Time = document.getElementById("img1Time"); 
 
     img1Time.innerHTML = `${time}`; 
 
    }); 
 

 
    var img2 = document.getElementById("img2"); 
 
    EXIF.getData(img2, function() { 
 
     var allMetaData = EXIF.getALLTags(this); 
 
     var allMetaDataSpan = document.getElementById("Img2Time"); 
 
     allMetaDataSpan.innerHTML = JSON.stringify(allMetaData, null, "\t");   
 
    }); 
 
\t 
 
} 
 

 
</script>

答えて

0

ウルexif.jsファイルに移動して930行目に移動して

EXIF.getData = function(img, callback) { 
if ((self.Image && img instanceof self.Image 
|| self.HTMLImageElement && img instanceof self.HTMLImageElement) 
&& !img.complete) 
return false; 
に変更します
関連する問題