【发布时间】:2018-04-14 14:03:24
【问题描述】:
您好,我正在尝试将下载的 mp4 文件保存到我的画廊。
使用downloadTask下载网址
在
func urlSession(_ session: URLSession,
downloadTask: URLSessionDownloadTask,
didFinishDownloadingTo location: URL){
}
我正在获取网址
file:///private/var/mobile/Containers/Data/Application/8D761DFE-C050-426D-B91C-61DE441FB496/Library/Caches/com.apple.nsurlsessiond/Downloads/com.te.dn/CFNetworkDownload_KFSYSW.tmp
我正在使用创建路径,
let path = NSSearchPathForDirectoriesInDomains(FileManager.SearchPathDirectory.documentDirectory, FileManager.SearchPathDomainMask.userDomainMask, true)
let documentDirectoryPath:String = path[0]
let fileManager = FileManager()
let destinationURLForFile = URL(fileURLWithPath: documentDirectoryPath.appendingFormat("/file1.mp4"))
if fileManager.fileExists(atPath: destinationURLForFile.path){
}
else{
do {
try fileManager.moveItem(at: location, to: destinationURLForFile)
// show file
}catch{
print("An error occurred while moving file to destination url")
}
}
我可以成功移动文件(移动时没有出现任何错误)。
然后我尝试保存出现错误的文件
let url = URL(fileURLWithPath: destinationURLForFile.path)
网址值为:
file:///var/mobile/Containers/Data/Application/8DF0C849-56A1-42B3-A081-0C992D18F973/Documents/file1.mp4
PHPhotoLibrary.shared().performChanges({
PHAssetChangeRequest.creationRequestForAssetFromVideo(atFileURL: url)
}) { saved, error in
if saved {
let alertController = UIAlertController(title: "Your video was successfully saved", message: nil, preferredStyle: .alert)
let defaultAction = UIAlertAction(title: "OK", style: .default, handler: nil)
alertController.addAction(defaultAction)
self.present(alertController, animated: true, completion: nil)
}
else
{
print(error?.localizedDescription ?? "f")
}
}
o/p : 错误:- The operation couldn’t be completed. (Cocoa error -1.)
【问题讨论】:
-
您应该查看这个可以解决您的问题的答案。 Save video in photo library
-
你有没有想过这个问题@Vineesh TP?几个小时以来,这让我发疯了。
-
@manonthemoon : 请检查数据是否可用。
标签: ios swift xcode url photolibrary