crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )

eldar85
  опции профиля:
сообщение 10.2.2010, 13:56
Сообщение #1


программист
***

Группа: Участник
Сообщений: 283
Регистрация: 2.1.2010
Из: Москва
Пользователь №: 1348

Спасибо сказали: 0 раз(а)




Репутация:   0  


всем сдрасти) никак не могу справиться с такой проблемой, нужно картинку загрузить в формате .gif
делаю загрузку курлом в строку, потом записываю в файл, но файл получается какого то не правельного формата... что делать подскажите плиз...
вот код:

QString StringJPG;
StringJPG.toStdString() = curl->load(http://........gif)->exec();
QFile file("captcha.gif");
file.open(QIODevice::WriteOnly);
QDataStream out(&file);
out << StringJPG;
file.close();
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
 
Начать новую тему
Ответов
eldar85
  опции профиля:
сообщение 21.2.2010, 22:21
Сообщение #2


программист
***

Группа: Участник
Сообщений: 283
Регистрация: 2.1.2010
Из: Москва
Пользователь №: 1348

Спасибо сказали: 0 раз(а)




Репутация:   0  


QFile file;
file.setFileName("kartinka.jpg");
if(!file.open(QIODevice::WriteOnly))
{
QMessageBox::warning(this, tr("HTTP GET"),
tr("Can't write file")
.arg(file.fileName())
.arg(file.errorString()));
return;
}

QHttp *http = new QHttp;
http->setHost("img68.imageshack.us");

http->get("/img68/6868/decayinghopesbyblackribca8.jpg", &file);

file.close();
http->closeConnection();


вот и так попробывал, один хрен прога вылетает с предложением отправить отчет в майкрософт)))

Цитата(BRE @ 22.2.2010, 1:14) *
Цитата(eldar85 @ 21.2.2010, 21:51) *
почему то такая запись вообще вызывает ошибку программы и винда ее сразу закрывает.

Метод QHttp::get запускает асинхронную загрузку данных, а ты следующей строкой закрываешь файл, в который он должен сохранять результат.
Примеры загрузки с использованием QHttp и QNetworkAccessManager. Загрузка принудительно делается синхронной, но это легко переделывается для работы с сигналами.

Раскрывающийся текст
void loader_http()
{
        QFile file( "save.gif" );
        if( !file.open( QIODevice::WriteOnly ) )
        {
                qDebug() << "Error create file";
                return;
        }

        QHttp http;
        QEventLoop loop;
        QObject::connect( &http, SIGNAL( done( bool ) ), &loop, SLOT( quit() ) );

        http.setHost( "www.prog.org.ru" );
        http.get( "/Themes/default/images/smflogo.gif", &file );
        loop.exec();

        qDebug() << http.state() << http.error() << http.bytesAvailable();
}

void loader_nam()
{
        QEventLoop loop;
        QNetworkAccessManager manager;
        QNetworkReply *reply = manager.get( QNetworkRequest( QUrl( "http://prog.org.ru/Themes/default/images/smflogo.gif" ) ) );
        QObject::connect( reply, SIGNAL( finished() ), &loop, SLOT( quit() ) );
        loop.exec();

        qDebug() << reply->error() << reply->bytesAvailable();
        QByteArray buf = reply->readAll();
        QFile file( "save.gif" );
        if( file.open( QIODevice::WriteOnly ) )
        {
                file.write( buf );
        }
}




Большое спасибо!!!!!!!!!!!!!!!!!! работает))))))))))
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

Сообщений в этой теме
- eldar85   сохранение картинки(.jpg, .gif) в файл из потока   10.2.2010, 13:56
- - Litkevich Yuriy   Цитата(eldar85 @ 10.2.2010, 16:56) String...   10.2.2010, 14:11
- - eldar85   ну вместо точек там полный адресс картинки. curl-...   10.2.2010, 14:32
- - Litkevich Yuriy   Цитата(eldar85 @ 10.2.2010, 17:32) ну вме...   10.2.2010, 15:52
- - eldar85   так вот я и не знаю что и как тут сделать, посовет...   10.2.2010, 20:45
- - Litkevich Yuriy   eldar85, я с Curl'ом не работал. Но судя по ре...   10.2.2010, 20:54
- - eldar85   да я тоже так думаю)) потому что загружает он чист...   11.2.2010, 7:54
- - eldar85   все же курлом никак не могу закачать картинку в фа...   21.2.2010, 21:05
- - eldar85   почему то такая запись вообще вызывает ошибку прог...   21.2.2010, 21:51
|- - BRE   Цитата(eldar85 @ 21.2.2010, 21:51) почему...   21.2.2010, 22:14
- - eldar85   QFile file; file.setFileName("kartinka.jpg...   21.2.2010, 22:21
- - SABROG   ЦитатаQFile file("captcha.gif"); Спам-б...   22.2.2010, 1:20
|- - eldar85   Цитата(SABROG @ 22.2.2010, 4:20) ЦитатаQF...   22.2.2010, 2:52
- - Litkevich Yuriy   eldar85, прочитай тему Справка по кнопкам и тэгам ...   22.2.2010, 5:29
- - SABROG   Цитата(eldar85 @ 22.2.2010, 2:52) пока чи...   22.2.2010, 10:05
- - Litkevich Yuriy   Цитата(SABROG @ 22.2.2010, 13:05) а так э...   22.2.2010, 13:50
- - eldar85   ))))да ладно вам, спасибо вам за помощь!!)...   23.2.2010, 16:36
- - thechicho   BRE, ты мозг!!! сам пытался из асинх...   6.10.2011, 15:43


Быстрый ответОтветить в данную темуНачать новую тему
Теги
Нет тегов для показа


1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0


RSS Рейтинг@Mail.ru Текстовая версия Сейчас: 4.7.2025, 2:19