我抓取了一个网站并找到了指向我要下载的文件的链接。我从链接中获得的信息是资源的标题和 URL(来自给定的 <a href>
HTML 元素)。我使用 Alamofire 来下载这样的资源:
let fileUrl = FileManager.default.temporaryDirectory.appendingPathComponent("quicklook.txt")
let destination: DownloadRequest.DownloadFileDestination = { _,_ in return (fileUrl, [.removePreviousFile, .createIntermediateDirectories]) }
let request = Alamofire.download(resourceUrl, to: destination).responseData { (response) in
switch response.result {
case .failure(let error):
break
case .success(let result):
break
}
}
我的问题是链接到的文件可能是许多不同的文件类型,例如 .docx
, .txt
, .img
, .pdf
等
是否可以在不知道 pathExtension 的情况下确定正在下载的文件?
当从链接下载资源时,safari 如何知道它正在下载什么类型的内容?
最佳答案
响应头包含一个Content-Type用于传递数据类型的属性。
您应该能够从 alamofire 获取响应 header 并检查内容类型。
编辑:看起来这里接受的答案是您可能想要的How to retrieve Alamofire response header for a request
关于ios - 使用 Alamofire 从 url 下载后确定文件类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49417901/