使用QNetworkAccessManager(Qt 4.5.2)下载文件时,原始URL可能会重定向到包含下载文件实名的新文件。如何读取此文件名?
答案应该是QUrl QNetworkReply :: url()const,因为文档说: 请注意,URL可能与原始请求的URL不同。
不幸的是,它会返回原始网址而不是新网址。
有什么想法吗?
答案 0 :(得分:3)
您必须手动解析Content-Disposition标头(reply->rawHeader("Content-Disposition")
)才能从中获取文件名。
答案 1 :(得分:1)
尝试通过以下方式从响应标头中获取它:
QNetworkRequest::header(QNetworkRequest::LocationHeader)
该文档声明QNetworkRequest :: LocationHeader:
对应于HTTP位置 标题并包含表示的URL 数据的实际位置, 包括目的地URL以防万一 重定向。