在 Swift 中创建一个目录并在其中存储文件

2023-12-19

我正在创建一个目录,以便我可以将临时视频保存到其中,因为 TempVideos 是一个文件夹,现在我的视频剪辑将位于该文件夹内...

func createTempDirectoryToStoreVideos(){
    var error: NSError?
    let paths = NSSearchPathForDirectoriesInDomains(NSSearchPathDirectory.DocumentDirectory, NSSearchPathDomainMask.UserDomainMask, true)
    let documentsDirectory: AnyObject = paths[0]
    tempVideoPath = documentsDirectory.stringByAppendingPathComponent("TempVideos")

    if (!NSFileManager.defaultManager().fileExistsAtPath(tempVideoPath!)) {

        NSFileManager.defaultManager() .createDirectoryAtPath(tempVideoPath!, withIntermediateDirectories: false, attributes: nil, error: &error)

    }

}

现在在这些目录中我想将视频存储为

   func saveCompressVideoToTempDirectory(var compressedVideoUrl:NSURL?){

    let data = NSData(contentsOfURL: compressedVideoUrl!)
    var error:NSError?
    var success = data?.writeToFile(tempVideoPath!, options: NSDataWritingOptions.AtomicWrite, error: &error)
    println(error)

    if let temp = success{

        if temp {

            println("success")

        }else{

            println("not valid ")

        }

    }

}

但是我收到错误为

可选(错误域=NSCocoaErrorDomain代码=512“操作 无法完成。 (可可错误 512。)” UserInfo=0x17407f6c0 {NSFilePath=/var/mobile/Containers/Data/Application/F1140A9F-8D16-444B-8679-9ED1AD3F5E6A/Documents/TempVideos, NSUnderlyingError=0x17424a320“操作无法完成。是 一个目录"})


你能尝试一下吗createFileAtPath为了那个原因?

func createFileAtPath(_ path: String,
         contents data: NSData?,
       attributes attr: [String : AnyObject]?) -> Bool

同样的事情涉及writeToFile:

func writeToFile(_ path: String,
     options writeOptionsMask: NSDataWritingOptions) throws

哪里,注意,path is

写入接收器字节的位置。如果path包含 波形符 (~) 字符,您必须将其扩展为stringByExpandingTildeInPath在调用该方法之前。

你应该这样写:

let paths = NSSearchPathForDirectoriesInDomains(NSSearchPathDirectory.DocumentDirectory, NSSearchPathDomainMask.UserDomainMask, true)
var dirpath: String = paths[0] as String
let filepath = dirpath.stringByAppendingPathComponent("myOwnData.mov")
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在 Swift 中创建一个目录并在其中存储文件 的相关文章

随机推荐