Are you downloading the image using QNetworkAccessManager, or simply setting the source of a QML Image object? In either case, it shouldn't be too difficult to handle the error if the URI doesn't exist. Let's say you try .bmp first, with QNetworkAccessManager, you can catch the error when the QNetworkReply* emits the finished() signal, i.e
http://<IP>/grab?format=jpg
void appLogic::replyScreenshotFinished(QNetworkReply* r) { if (r->error() == QNetworkReply::NoError) { QFile jpg("tmp.jpg") jpg.write(r.readAll()); jpg.close(); } else { // errorhandling } disconnect(&manager, SIGNAL(finished(QNetworkReply*)),this, SLOT(replyScreenshotFinished(QNetworkReply*))); }