void MainWindow::getimage()
{
network_request.setUrl(QUrl("http://192.168.1.131/logined/parkingRecord/download.action?parkingRecord.id=65382"));//65382
reply4 = networkmanager->get(network_request);
connect(reply4,SIGNAL(waitForReadyRead()),this,SLOT(replyFinished4()));
connect(networkmanager,SIGNAL(finished(QNetworkReply*)),this,SLOT(replyFinished5(QNetworkReply *)));
}
QMessageBox::warning(this,NULL,"243");
QVariant status_code = reply->attribute(QNetworkRequest::HttpStatusCodeAttribute);
if(status_code == 200)
QMessageBox::warning(this,NULL,"true");
else
{
//reply4 = networkmanager->get(network_request);
QMessageBox::warning(this,NULL,"false");
}
QMessageBox::critical(this,NULL,status_code.toString());
if(reply->error() == QNetworkReply::NoError)
{
//download_Btn->setText("success");
QByteArray bytes = reply->readAll(); //获取字节
QString result(bytes); //转化为字符串
QMessageBox::warning(this,NULL,result);
QImage image;
image.loadFromData(bytes);
image.save("E:/NetParkingClient/lib/b.png");
}
}
这里试过了俩种方式,一种是用get返回值,一种是直接用networkaccessmanager,但是都是取不到数据,在使用后者的时候,status_code的值为302,然后再网上查的时候发现302对应的是请求的资源现在临时从不同的 URI 响应请求 导致图片下载不下来,然后我猜测可能是访问这个图片的时候URL会跳成一个新的地址进行下载,所以我想问问各位大佬有没有什么好的解决方法。。。。