使用QNetworkAccessManager(Qt 4.5.2)下載文件時,原始URL可能會重定向到包含已下載文件實名的新文件。如何讀取這個文件名?讀取使用QNetworkAccessManager下載的文件的最終名稱
答案應該是QUrl QNetworkReply :: url()const,如文檔所述: 請注意,該URL可能與原始請求的URL不同。
不幸的是,它返回的是原始URL而不是新的URL。
有什麼想法?
使用QNetworkAccessManager(Qt 4.5.2)下載文件時,原始URL可能會重定向到包含已下載文件實名的新文件。如何讀取這個文件名?讀取使用QNetworkAccessManager下載的文件的最終名稱
答案應該是QUrl QNetworkReply :: url()const,如文檔所述: 請注意,該URL可能與原始請求的URL不同。
不幸的是,它返回的是原始URL而不是新的URL。
有什麼想法?
嘗試通過得到它與響應報頭:
QNetworkRequest::header(QNetworkRequest::LocationHeader)
的documenation指出QNetworkRequest :: LocationHeader:
對應於HTTP位置 頭,包含代表 實際的URL數據的位置, 包含重定向的情況下的目的地URL的情況下 。
您必須手動解析Content-Disposition標頭(reply->rawHeader("Content-Disposition")
)才能從中獲取文件名。
是的,它的工作原理返回文件的名稱:。 附件;文件名=「afile.zip」 感謝 – Das 2009-07-30 20:21:51
空標題:(...的rawHeader工程確定 – Das 2009-07-30 20:22:40