0
我有一個應用程序,在照片上有DateTimeOriginal時間戳是絕對必要的。有沒有辦法讓我停止上傳並使用Fine Uploader顯示消息?如何阻止缺少「FineTime Uploader」的「DateTimeOriginal」exif數據的上傳?
我有一個應用程序,在照片上有DateTimeOriginal時間戳是絕對必要的。有沒有辦法讓我停止上傳並使用Fine Uploader顯示消息?如何阻止缺少「FineTime Uploader」的「DateTimeOriginal」exif數據的上傳?
我從來沒有聽說過的「拍攝,在」標籤,我不相信這是一個標準的現場。這個答案的其餘部分假設你確實想把重點放在這個標籤上,但即使你不這樣做,你也可以在下面的源代碼中做一個簡單的改變,把焦點放在另一個EXIF標籤上。
一種方法是檢查每個文件在onSubmit
回調處理程序,簡單地拒絕該文件是不包含「拍攝,在」字段。以下示例利用exif-js library解析圖像文件的EXIF數據:
var uploader = new qq.FineUploader({
callbacks: {
onSubmit: function(id) {
var blob = this.getFile(id)
return new Promise(function(resolve, reject) {
EXIF.getData(blob, function() {
var takenAt = EXIF.getTag(this, 'taken-at')
if (takenAt) {
resolve()
}
else {
reject()
}
})
})
}
}
})
你說得對,exif字段是DateTimeOriginal。 taken_at是我的數據庫列。 – Citizen
我試過這段代碼,它沒有工作。我添加了一堆console.log行,發現它可以正常工作到var blob = this.getFile(id);然後停下來。控制檯中沒有其他輸出。有任何想法嗎? – Citizen
我可以控制檯登錄ID。返回0,1等,但this.getFile停止輸出,腳本停止。 – Citizen