2017-06-02 9 views
0

DroneDeployからデータをエクスポート/同期するためのプラグインを作成しています。Images.get()を使用して画像をアップロードしたときのUTCの日付を取得する方法は?

Images.get()から返されたJSONを調べました。場合によっては"date_creation"フィールドを使用できます。時にはそのフィールドが存在しない場合もあります。さらに、このフィールド内で、 "$ date"フィールドは、文字列ベースの日付のように見えますが、私はそれをローカル日付と見なす必要があります。その日の表現は、画像をアップロードしたユーザーの現地時間ですか?または、すでにログインしているユーザーのタイムゾーンに変換済みですか?

サンプルはImages.get()APIからの画像のJSONを切り取ら:

{ 
    "name": "camera", 
    "drone_session_id": "1495472258_SUPPORTOPENPIPELINE", 
    "command": "log", 
    "drone_device_id": "1495472258_SUPPORTOPENPIPELINE", 
    "date_creation": { 
     "$date": "2017:02:09 11:37:46" 
    } 
} 

は、どのように私はかどうかを判断することができますので、この画像はDroneDeployにアップロードされたときの信頼性の高い真のUTCの日付を取得することができますユーザーが戻って別の同期操作が発生するように要求したら、イメージをエクスポートする必要はありませんか?

答えて

0

あなたが参照しているイメージexif情報は、カメラが画像をキャプチャするために少し信頼性が低い場合があります。

どの画像を同期する必要があるかを判断するには、あなたが同期しているかどうかを確認することをお勧めします(plans)。

I.E.

const allPlanIds$ = dronedeployApi.Plans.all().then((plans) => plans.map((plan) => plan.id)); 
const alreadySyncedPlanIds$ = fetch()... // get these planIds from your server 
const planIdsToSync$ = Promise.all(allPlanIds$, alreadySyncedPlanIds$).then(([planIds, syncedPlanIds]) => planIds.filter((planId) => !syncedPlanIds.includes(planId))); 
planIdsToSync$.then((planIdsToSync) => console.log(planIdsToSync)) // get images for these planIds 
+0

別のフィールド - data/exifがあります。 date_creationフィールドはexifプロパティの下にないので、私はこれがexifデータではないと仮定しましたが、無人機配布によって生成されました。 –

+0

初期同期後にプラン内の何かを変更した場合(たとえば、画像のアップロードや既存の画像の置換/編集など)には、プランの同期を使用しても機能しません。本当にファイル名とアップロードされたファイルとを比較できるようにする必要があります。 –

+0

こんにちは@MinhTranは 'image.path'を使って、署名されたトークンを削除します。 'plan.status === 'complete''の後にユーザーが地図にもっと多くの画像をアップロードすることはできません。 –

関連する問題