2009-07-30 91 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

相關問題