SWIFT: NSData contentsOfUrl returns nil from valid URL
SWIFT: NSData contentsOfUrl returns nil from valid URL
我有一个 URL(不是路径或字符串):file:///private/var/mobile/Containers/Data/Application/50558DAA-7082-4BB0-AB0C-F7BA0DC483E5/tmp/yFFaofWcIWln-SCVideo-Merged.mp4
当我使用 NSData(contentsOfUrl: url)
我得到 nil
.
我已经用库 URL 中的资产尝试了相同的代码,没有任何问题。
这两个URLS有区别吗?
任何人都知道如何从上面提取 NSData URL?
提前致谢
编辑:实际文件似乎有问题,由于某种原因它只包含音频而没有视频。需要进一步调查。
感谢您的贡献。
如何获得 URL?
创建 URL 的方法有很多种。使用文件路径创建 NSURL 时应使用 init(fileURLWithPath path: String)
。
您可能想检查 URL 中的路径是否正确,这可能是 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)
在我的具体情况下,缺少 URL 中的实际数据...所以这就是它返回 nil 的原因。
感谢大家的帮助:)
我有一个 URL(不是路径或字符串):file:///private/var/mobile/Containers/Data/Application/50558DAA-7082-4BB0-AB0C-F7BA0DC483E5/tmp/yFFaofWcIWln-SCVideo-Merged.mp4
当我使用 NSData(contentsOfUrl: url)
我得到 nil
.
我已经用库 URL 中的资产尝试了相同的代码,没有任何问题。
这两个URLS有区别吗? 任何人都知道如何从上面提取 NSData URL?
提前致谢
编辑:实际文件似乎有问题,由于某种原因它只包含音频而没有视频。需要进一步调查。 感谢您的贡献。
如何获得 URL?
创建 URL 的方法有很多种。使用文件路径创建 NSURL 时应使用 init(fileURLWithPath path: String)
。
您可能想检查 URL 中的路径是否正确,这可能是 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)
在我的具体情况下,缺少 URL 中的实际数据...所以这就是它返回 nil 的原因。
感谢大家的帮助:)