2017-06-02 33 views
0

我正在編寫一個插件來從DroneDeploy導出/同步數據。如何獲取使用Images.get()上傳圖像時的UTC日期?

我看着從Images.get()返回的JSON。有時「date_creation」字段可用。有時候這個領域不存在。此外,在此字段中,「$ date」字段顯示看起來像基於字符串的日期,我不得不假定它是本地日期?該日期的表示是上傳圖像的用戶的本地時間?還是已經將其轉換爲當前登錄用戶的時區?

樣品剪斷從Images.get圖像來()JSON API:

{ 
    "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

還有另一個字段 - 數據/ exif。由於date_creation字段不在exif屬性下,因此我認爲這不是exif數據,而是由無人機部署生成的。 –

+0

如果用戶在初始同步後更改計劃中的某些內容(例如上傳更多圖像或替換/編輯現有圖像),則使用planIds進行同步不起作用。真的需要能夠與文件名和上傳時間進行比較。 –

+0

嗨@MinhTran會使用'image.path'並刪除簽名的令牌工作。 'plan.status ==='complete''用戶無法將更多圖像上傳到地圖,值得注意。 –

相關問題