【发布时间】:2018-05-06 06:56:48
【问题描述】:
我的目标是使用 AWSS3TransferUtility 将原始分辨率设备捕获的视频文件上传到 S3。
用户使用UIImagePickerController 选择视频,但是,如果我将info[UIImagePickerControllerMEDIAURL] 传递给transferUtility,它总是将视频降低到720p。如果我通过 transferutility info[UIImagePickerControllerREFERENCEURL] 我得到一个错误:
操作无法完成。 (com.amazonaws.AWSS3TransferUtilityErrorDomain 错误 4。)
找不到错误代码的解释,所以我假设它是 permissions 错误,因为我没有通过 Photos 框架或 PHAsset.fetch
参考网址 - assets-library://asset/asset.mov?id=5B99DC8E-B94E-4CBF-AFB8-7F82BC72FEE2&ext=mov
媒体网址 - file:///private/var/mobile/Containers/Data/Application/76928AD7-F142-4CC9-9708-A58C8CAF8EE5/tmp/trim.82038B6A-222F-4B50-A937-A8C399B02A08.MOV
现在,我有 ReferenceURL,我正在尝试获取 PHAsset,以便我可以将其复制到 Documents Directory 并将其 URL 从那里传递给 TransferUtility 以绕过 AWSS3TransferUtilityErrorDomain 错误 4 .
但是,fetchAssets(withALAssetURLs:options:) is now deprecated 所以我无法使用 ReferenceURL 获取资产;所有其他方法都是通过媒体类型等批量获取。有fetchAssets(withLocalIdentifiers:options:),但我不确定如何仅从 URL 获取 PHAsset 的本地标识符。
【问题讨论】:
标签: swift uiimagepickercontroller phasset