2

我在 iOS 中使用 DJISDK 从飞机上下载图片。

我正在使用课堂上的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 应用程序检索所有信息,所以必须有一些方法可以做到这一点。

4

1 回答 1

4

他们的论坛中也有关于空元数据和downloadSelectedFilesWithPreparation. 创建帖子的用户也找到了解决方案:

我通过不将 NSData 转换为任何格式来解决问题,而是直接保存 NSData。使用 PHAssets 和临时文件将 NSData 存储为 PHAssets 只接受来自 URL 的数据。


尝试使用fetchFileDataWithOffset:updateQueue:updateBlock(它将fetchFileData(with:updateQueue:updateBlock)在 Swift 中调用)

[...] 获取媒体数据将返回视频或图像的所有数据


示例代码(objc):这里

于 2017-08-24T23:56:38.430 回答