【问题标题】:writeToFile fails to save 4K video with 40 min recording in document directorywriteToFile 无法在文档目录中保存 40 分钟录制的 4K 视频
【发布时间】:2019-01-15 13:31:49
【问题描述】:

writeToFile 无法在文档目录中保存 50 分钟录制的 4K 视频

BOOL videoSuccess = [[NSData dataWithContentsOfURL:videoURL] writeToFile:videoPath atomically:YES];

所以 videoSuccess 返回 false

视频网址:

file:///private/var/mobile/Containers/Data/Application/5C6C1826-B1B9-4F8C-BEFA-8842166B38CC/tmp/output.mov

视频路径:

/var/mobile/Containers/Data/Application/5C6C1826-B1B9-4F8C-BEFA-8842166B38CC/Documents/20180808160025.mp4


解决方法: 使用moveItemAtPath 而不是writeToFilecopyItemAtPath

[[NSFileManager defaultManager] moveItemAtPath:videoURL toPath:videoPath error:&error];

【问题讨论】:

  • 你能显示你的videoURL和videoPath吗
  • @RakeshPatel 我已经用 videoURL 和 videoPath 更新了问题
  • 解决了吗???
  • 显示您的完整代码..如何在 videourl 存储视频?
  • @RakeshPatel - 它与“moveItemAtPath”一起工作,但“writeToFile”和“copyItemAtPath”失败

标签: ios objective-c iphone nsdata document-directory


【解决方案1】:

当您尝试将内容从一个目录路径复制到另一个目录时,不要重写整个内容,只需使用复制方法。

            do
            {
              try FileManager.default.copyItem(at: videoURL, to: videoPath)
             }
            catch
            {
                print(error.localizedDescription)
            }

还要检查您的网址是否正确。

【讨论】:

    猜你喜欢
    • 2016-07-27
    • 1970-01-01
    • 2015-12-26
    • 1970-01-01
    • 2015-02-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多