Russian Qt Forum

Qt => Работа с сетью => Тема начата: ecspertiza от Июнь 30, 2010, 16:18



Название: QWebView и ссылка на файл
Отправлено: ecspertiza от Июнь 30, 2010, 16:18
Использую QWebView для отображение страницы, но если например контент возвращается не text/html а например application/octet-stream(то есть какой то файл) ,то сразу же ловлю error с текстом "Операция отменена", что я делаю, задаю для QWebView QNetworkAccsseManager, сигнал менеджера finished(QNetworkReply*) соединяю со своим слотом, в нем проверяю
Код:
if (reply->error())
    {
        qDebug() << reply->errorString(); // Здесь ловлю error
    }else
    {
        //Тыры пыры пасатижи
    }

стало быть если пытаюсь получить из reply заголовок Content-Type то получаю правильный, но при этом если пытаюсь сделать так
Код:
qDebug() << "reply " << reply->readAll(); 

Получаю пустую строку, страницы загружаю с помощью метода load(QUrl) QWebView, стало быть вопрос почему так? и что нужно сделать для того что бы если я наткнулся на файл то сохранить его на винт, пытался сделать так
Код:
    if ((reply->hasRawHeader("Content-Type") == true) && (reply->rawHeader("Content-Type") == "application/octet-stream"))
    {
        QFile file(QApplication::applicationDirPath()+"/file");
        if (!file.open(QIODevice::WriteOnly))
        {
            qDebug() << "Can`t open file";
        }

        file.write(reply->readAll());
        file.close();
    }

но так как reply по идее пустой, то в файл ничего и не пишется.


Название: Re: QWebView и ссылка на файл
Отправлено: sendevent от Июнь 30, 2010, 16:41
видимо, QWebPage::forwardUnsupportedContent (http://doc.trolltech.com/4.6/qwebpage.html#forwardUnsupportedContent-prop) выключено:
Цитата: QAssistant
<...>
If disabled, the download of such content is aborted immediately.
<...>


Название: Re: QWebView и ссылка на файл
Отправлено: ecspertiza от Июнь 30, 2010, 18:04
точно, спасибо, видимо упустил этот момент :)