2009-07-30 55 views
3

使用QNetworkAccessManager(Qt 4.5.2)下载文件时,原始URL可能会重定向到包含已下载文件实名的新文件。如何读取这个文件名?读取使用QNetworkAccessManager下载的文件的最终名称

答案应该是QUrl QNetworkReply :: url()const,如文档所述: 请注意,该URL可能与原始请求的URL不同。

不幸的是,它返回的是原始URL而不是新的URL。

有什么想法?

回答

1

尝试通过得到它与响应报头:

QNetworkRequest::header(QNetworkRequest::LocationHeader) 

的documenation指出QNetworkRequest :: LocationHeader:

对应于HTTP位置 头,包含代表 实际的URL数据的位置, 包含重定向的情况下的目的地URL的情况下 。

QNetworkRequest::header documentation

QNetworkRequest::LocationHeader documentation

+0

空标题:(...的rawHeader工程确定 – Das 2009-07-30 20:22:40

3

您必须手动解析Content-Disposition标头(reply->rawHeader("Content-Disposition"))才能从中获取文件名。

+0

是的,它的工作原理返回文件的名称:。 附件;文件名=“afile.zip” 感谢 – Das 2009-07-30 20:21:51

相关问题