qt url下载链接 获取文件名

目前连接有 http://192.168.2.1:/app/test.pdf 和http://192.168.2.1:/Servlet?action=7&file=erc_y.raq&columns=0&srcType=file&reportParamsId=1012&cachedId=A_3&t_i_m_e=1448698461359 这两种,之前都是通过 

QString filename = QFileInfo(url.path()).fileName(); 函数获取文件名的,不过这个对第二种不其作用,对于第二种url 如何获取文件名呢?
	QNetworkAccessManager m_manager;
  QNetworkRequest request(url);
        QNetworkReply *tmp = m_manager.get(request);
        之后返回的 tmp 中可以通过 tmp->rawHeader("Content-Disposition");  
获得文件名,qDebug()<<tmp->rawHeaderList(); 可以打印出 rawHeaderList() 返回的 列表. m_manager.get(request) ,应该是异步的,m_manager.get(request); 之后立即调用 

rawHeader("Content-Disposition") 可能会获取空值。

如何从http://xxxxxxx/databrowser/qt_update 这样的url中简单获取到要下载的文件名为test.zip

QString strDisposition = m_networkReply->rawHeader("Content-Disposition");
int index = strDisposition.indexOf("filename=");
QString fileName = strDisposition.mid(index + 9);
if (fileName.isEmpty())
{
QUrl url(url);
QFileInfo fileInfo(url.path());
fileName += fileInfo.fileName();
}

要把这个URL请求发送出去,等服务器跳转到真实的下载地址才能知道下载的文件名

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值