1

QNetworkRequest問題なくWebからxmlを取得するために使用しました:

request.setUrl(QUrl("http://api.somesite.com/api/4we35r/somefile.xml"));

myNetworkAccessManager->get(request);

画像をダウンロードするにはどうすればよいですか?元:

http://www.mysite.com/27eye28/images/myimage.png

上記のxml URLをpng URLに置き換えるだけですか? 何か特別なことをしなければなりませんか?

4

1 に答える 1

2

はい、URL を置き換えるだけです。

これが実際の例です。

void MainWindow::GetImage(QString url)
{
    QNetworkAccessManager* manager = new QNetworkAccessManager(this);
    connect(manager, SIGNAL(finished(QNetworkReply *)), this, SLOT(replyFinished(QNetworkReply *)));

    QUrl url = QUrl(url);

    QNetworkRequest request(url);

    manager->get(request);
}

void MainWindow::replyFinished(QNetworkReply *reply)
{
    if(reply->error() != QNetworkReply::NoError)
    {
        ui->textBrowser->setText("Error: " +  reply->errorString());
    }
    else
    {
        QByteArray responseData = reply->readAll();
        QFile file("d:\\myImage.png");
        file.open(QIODevice::WriteOnly);
        file.write((responseData));
        file.close();
    }
}
于 2013-08-08T13:31:12.450 に答える