使用 Alamofire 从 url 下载后确定文件类型
Posted
技术标签:
【中文标题】使用 Alamofire 从 url 下载后确定文件类型【英文标题】:Determine filetype after downloading from url with Alamofire 【发布时间】:2018-03-21 23:02:33 【问题描述】:我抓取了一个网站并找到了一个指向我要下载的文件的链接。我从链接中获得的信息是资源的标题和 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 如何知道它正在下载什么类型的内容?
【问题讨论】:
【参考方案1】:响应头包含一个Content-Type 属性,用于传递数据的类型。
您应该能够从 alamofire 获取响应标头并检查内容类型。
编辑:看起来这里接受的答案是你可能想要的How to retrieve Alamofire response header for a request
【讨论】:
以上是关于使用 Alamofire 从 url 下载后确定文件类型的主要内容,如果未能解决你的问题,请参考以下文章
更新到iOS 11.1后,Alamofire 4.5.1失败