使用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