我有一个应用程序,当用户单击下载按钮时,该应用程序允许用户保存视频和图像,但是用户可以单击100次下载并下载相同的图像或视频,我想知道是否有一种方法可以检查是否已将文件保存在库中(如WhatsApp通过显示警报消息的方式一样)?
func saveVideo(atFilePath:URL) {
SVProgressHUD.show()
PHPhotoLibrary.shared().performChanges({
PHAssetChangeRequest.creationRequestForAssetFromVideo(atFileURL: atFilePath)
}) { saved, error in
if saved {
SVProgressHUD.dismiss()
self.displayResponse(message: "video saved successfully"))
} else {
SVProgressHUD.dismiss()
self.displayResponse(message:"fail to save video")
}
}
}
答案 0 :(得分:0)
成功保存PHPhotoLibrary后,必须将视频的文件路径保存在本地DB(codeData / userdefaults)中,当用户再次尝试下载视频时,请首先验证本地保存的文件路径。如果发现任何现有文件路径,则会显示警报。
答案 1 :(得分:0)
let path = NSSearchPathForDirectoriesInDomains(.documentDirectory, .userDomainMask, true)[0] as String
let url = URL(fileURLWithPath: path)
let filePath = url.appendingPathComponent("fileName").path
let fileManager = FileManager.default
if fileManager.fileExists(atPath: filePath) {
print("File is already available")
} else {
print("File is not available")
}
您可以检查https://developer.apple.com/documentation/foundation/filemanager/1410277-fileexists