如何解决:FileManager.fileExists返回错误的false

时间:2016-12-04 21:27:20

标签: ios swift

我正在设备上保存录制的视频。为了能够立即上传,我需要创建一个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会这么做吗?

非常感谢帮助。

0 个答案:

没有答案