SWIFT:NSData contentsOfUrl从有效URL返回nil

时间:2015-10-25 00:53:09

标签: swift2 nsdata nsurl

我有一个网址(不是路径或字符串):file:///private/var/mobile/Containers/Data/Application/50558DAA-7082-4BB0-AB0C-F7BA0DC483E5/tmp/yFFaofWcIWln-SCVideo-Merged.mp4

当我使用NSData(contentsOfUrl: url)时,我会nil

我尝试使用库URL中的资源使用相同的代码,没有任何问题。

这两个网址有区别吗? 有谁知道如何从上面的URL中提取NSData?

提前致谢

编辑:似乎实际文件存在问题,由于某种原因它只包含音频而没有视频。需要进一步调查。 谢谢你的贡献。

3 个答案:

答案 0 :(得分:0)

你如何获得网址? 有很多方法可以创建URL。在使用文件路径创建NSURL时,应使用init(fileURLWithPath path: String)

答案 1 :(得分:0)

您可能想要检查网址中的路径是否正确,这可能是contentsOfUrl返回nil的原因。

然而,您正在尝试的内容可以很容易地实现:

let filePath = "file:///private/var/mobile/Containers/Data/Application/50558DAA-7082-4BB0-AB0C-F7BA0DC483E5/tmp/yFFaofWcIWln-SCVideo-Merged.mp4"
let data = NSData.dataWithContentsOfMappedFile(filePath)

答案 2 :(得分:0)

在我的具体情况下,URL中的实际数据丢失了......所以这就是为什么它返回nil。

感谢各位帮忙:)