我正在设备上保存录制的视频。为了能够立即上传,我需要创建一个Data对象。在创建本地文件之后,将调用以下函数,。
创建文件后,我有一个print语句。 localIdentifier = "BE04AABA-BC42-413D-BC32-26B5F1DEC2A1/L0/001"
正确打印。
func uploadVideo(_ userID: String, _ videoURL: String, completion: @escaping (_ url: URL?) -> Void) {
print("videoURL = \(videoURL)") // *1
let fileManager = FileManager.default
if fileManager.fileExists(atPath: videoURL) {
print("FILE AVAILABLE")
} else {
print("FILE NOT AVAILABLE") // *2
}
if let videoData = NSData(contentsOfFile: videoURL) {
// not executed
}
}
执行后,我得到以下打印声明。
* 1 videoURL = file:///var/mobile/Containers/Data/Application/42572E4F-AC7F-4444-8641-111111111/Documents/201889991.mov
* 2 FILE NOT AVAILABLE
但正确的视频文件存在于手机的库中,并由视频播放器视图播放。我已经检查了三次,但是在调用此函数之前创建了文件。
我错过了什么?
问题2.我需要Firebase上传功能请求的对象为Data
,而不是NSData
。铸造as? Data
会这么做吗?
非常感谢帮助。