ios - 使用 Alamofire 从 url 下载后确定文件类型

标签 ios swift file alamofire

我抓取了一个网站并找到了指向我要下载的文件的链接。我从链接中获得的信息是资源的标题和 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/

相关文章:

ios - = vs == 在 NSPredicate 中

iOS 使用 Segue 导航到表格单元格上的新 View 单击

ios - 水平旋转(翻转)一个按钮

ios - 在我的 iOS 应用程序中显示 Facebook 直播视频

ios - 创建一个与二维数组数据结构一起使用的新 IndexPath(使用 Swift 进行应用程序开发,项目 EmojiDictionary,第 556 页)

c# - 模仿 File.Move 如果目的地已经存在

ios - 自定义 UITableViewCell 项目无法正确显示

c++ - 有没有办法读取 C++ 中的文件文件夹?

python - 如何检查文件是否是视频

json - 执行 segue 的 Swift 登录屏幕