下载Alamofire后迅速保存文件

问题描述 投票:0回答:1

下载并保存文件

let destination: DownloadRequest.DownloadFileDestination = { _, _ in
   // var fileURL = self.createFolder(folderName: downloadFolderName)
    var fileURL = FileManager.default.urls(for: .documentDirectory, in: .userDomainMask)[0]

    let fileName = URL(string : currentFile.link )
    fileURL = fileURL.appendingPathComponent((fileName?.lastPathComponent)!)
    return (fileURL, [.removePreviousFile, .createIntermediateDirectories])
}
Alamofire.download(currentDownloadedFile.link , to: destination).response(completionHandler: { (DefaultDownloadResponse) in
    print("res ",DefaultDownloadResponse.destinationURL!);
    completion(true)
})

但是当我想检查这个目录中的文件时,我得到的

let filemanager:FileManager = FileManager()
let fileURL = FileManager.default.urls(for: .documentDirectory, in: .userDomainMask)[0]
let files = filemanager.enumerator(atPath: fileURL.absoluteString) // = nil
while let file = files?.nextObject() {
    print(file)
}

如果我保存本地路径到文件和重新加载应用程序后不会分享它 - >“分享”应用程序无法发送文件(mb找不到它)

你可以帮我吗这个怎么运作 ?为什么当我打印所有文件时他没有找到它?如何保存文件谁重启应用程序后它将保存在同一个链接中

swift alamofire
1个回答
1
投票

您使用的是错误的API

对于文件系统URL,请始终使用pathabsoluteString返回包含方案的完整字符串(例如,file://http://

let files = filemanager.enumerator(atPath: fileURL.path) 
© www.soinside.com 2019 - 2024. All rights reserved.