首页 > 解决方案 > 从临时文件中获取所有文档

问题描述

我正在开发 iPad 应用程序并尝试从临时文件中获取所有保存的 pdf 网址和名称。我可以写,但不知道如何将它们全部作为 Nsobject。你可以看我的写代码:

func  downpdf(getpdfurl: URL,docname:String){
let request = URLRequest(url:  getpdfurl)
let config = URLSessionConfiguration.default
let session =  URLSession(configuration: config)
let task = session.dataTask(with: request, completionHandler: {(data, response,  error) in
    if error == nil{
        if let pdfData = data {
            let pathURL = FileManager.default.urls(for: .documentDirectory, in: .userDomainMask)[0].appendingPathComponent("\(docname).pdf")
            do {
                try pdfData.write(to: pathURL, options: .atomic)
                
            }catch{
                print("Error while writting")
            }

            DispatchQueue.main.async {
                
            }
        }
    }else{
        print(error?.localizedDescription ?? "")
    }
}); task.resume()
}

已编辑

  let pathURL = FileManager.default.urls(for: .documentDirectory, in: .userDomainMask)[0].appendingPathComponent(".pdf")
    print(loadFileFromLocalPath(pathURL.absoluteString)!)
    

                do {
                    let pdfData = try String(contentsOf: pathURL)
                    for i in pdfData {
                        print(i)
                    }
                    
                }catch{
                    print("Error while writting")

标签: iosswiftxcodefiletemporary-files

解决方案


您可以执行以下操作来获取 Documents 文件夹中的所有 pdf 文件

let documentFolderUrl = FileManager.default.urls(for: .documentDirectory, in: .userDomainMask)[0]

do {
    let pdfUrls = try FileManager.default.contentsOfDirectory(at: documentFolderUrl, includingPropertiesForKeys: [.contentTypeKey], options: [.skipsHiddenFiles]).filter { $0.pathExtension == "pdf"}

    for url in pdfUrls {
        print(url)
    }
} catch {
    print(error)
}

推荐阅读