Извлекайте изображения из DJI Drone с данными EXIF
Я использую DJISDK в iOS для загрузки фотографий с самолета.
Я использую downloadSelectedFiles
метод из PlaybackManager
учебный класс.
Вот мой обратный вызов процесса:
process: { (data, error) in
if data != nil{
if self.downloadedImageData != nil{
self.downloadedImageData!.append(data!)
}else{
self.downloadedImageData = data!
}
}
}
И это обратный вызов завершения файла:
fileCompletion: {
self.downloadedFilesCount += 1
let image = UIImage(data: self.downloadedImageData!)
if let img = image {
self.downloadedImagesArray?.append(img)
}
self.downloadedImageData = nil
}
Я правильно получаю изображение, но без данных EXIF. Как я могу получить эту информацию и добавить ее к изображению? Я уже скачал и попробовал iOS-MediaManagerDemo, и это то же самое, загружает изображение, но без данных exif, но официальное приложение DJI Go получает всю информацию, поэтому должен быть какой-то способ сделать это.
1 ответ
Есть также аналогичная проблема на их форумах в отношении пустых метаданных и downloadSelectedFilesWithPreparation
, Пользователь, который создал сообщение, также нашел решение:
Я решил проблему, не преобразовывая NSData в какой-либо формат, вместо этого сохранил NSData напрямую. Использование PHAssets и временного файла для хранения NSData, поскольку PHAssets принимает данные только от URL.
Попробуйте использовать fetchFileDataWithOffset: updateQueue: updateBlock (он будет вызван fetchFileData(with:updateQueue:updateBlock)
в Свифт)
[...] выборка данных мультимедиа вернет все данные для видео или изображения
Пример кода (objc): здесь