2017-07-13 203 views
1

使用Swift 3,我正在向文档文件夹写入视频文件。 这里是文件的路径。无法从应用程序文档文件夹中删除文件

file:///var/mobile/Containers/Data/Application/D031AB20-CB7E-4B14-9483-E7C3F4C0EC55/Documents/output11:10:04.mov

现在我要删除的文件再次使用filemanager。我从avassetwriter检索上面的路径,并使用我之前定义的outputurl使用filemanager删除文件。

let fileManager = FileManager.default 

    do { 
     try fileManager.removeItem(at: (self.assetWriter?.outputURL)!) 
     } catch let err { 
     print(err) 
     } 

但我得到的错误是没有这样的文件或目录。 使用self.assetWriter?.outputURL.path给我同样的错误。

错误域= NSCocoaErrorDomain代码= 4 “‘output11/10/04.mov’无法 被移除。” (NSFilePath =/var/mobile/Containers/Data/Application/D031AB20-CB7E-4B14-9483-E7C3F4C0EC55/Documents/output11:10:04.mov, NSUserStringVariant =( Remove),NSUnderlyingError = 0x174240150 {Error域= NSPOSIXErrorDomain代码= 2“没有这样的文件或目录”}}

+0

删除文件前,请检查文件是否在该路径存在与否?正如你的错误显示这个文件不存在于位置。 –

+2

** output11:10:04.mov **是文件名不是t错误域= NSCocoaErrorDomain代码= 4“** output11/10/04.mov ** –

回答

2

不要在文件名中使用冒号。

(由于遗留原因)操作系统将它们视为路径分隔符,并用斜杠替换它们。

+0

谢谢这是解决问题的一部分,但我'm仍然出错。文件路径不正确 –

+0

但是它不可能是同一个错误。 – vadian

+0

'错误域= NSCocoaErrorDomain代码= 4“”output12-37-45.mov“无法删除。“UserInfo = {NSFilePath =/var/mobile/Containers/Data/Application/FECB3191-7684-4D3E-9F99-120F17D74046/Documents/output12-37-45.mov,NSUserStringVariant =( Remove ),NSUnderlyingError = 0x170243c30 {错误域= NSPOSIXErrorDomain代码= 2“没有这样的文件或目录”}}' –

2

首先检查天气文件在此路径存在或不存在,如果然后将其删除: -

let file_manager = FileManager.init() 
     if let url = self.assetWriter?.outputURL{ 
      if file_manager.fileExists(atPath: url.path){ 
       if file_manager.isDeletableFile(atPath: url.path){ 
        do { 
         try file_manager.removeItem(at: url) 
        } catch let err { 
         print(err.localizedDescription) 
        } 
       } 
      } 
     } 
+0

该文件是肯定存在的,我可以看到它,当我去应用程序在iTunes中的文件夹ode不会产生任何错误,但它也不会删除文件。 –

相关问题