cocos2dx http下载图片

#include "network/HttpClient.h"


void onHttpRequestCompleted(cocos2d::network::HttpClient* sender, cocos2d::network::HttpResponse* response);


void EmailScene::onHttpRequestCompleted(cocos2d::network::HttpClient* sender, cocos2d::network::HttpResponse* response)

{

    if (!response)

    {

        return;

    }

    // dump data

    std::vector<char> *buffer = response->getResponseData();

    char * buf=(char *)malloc(buffer->size());

    std::copy(buffer->begin(),buffer->end(),buf);

    std::string sFileName="xx.jpg";

    std::string path = FileUtils::getInstance()->getWritablePath()+sFileName;

    FILE *fp=fopen(path.c_str(),"wb+");

    fwrite(buf,1,buffer->size(),fp);

    fclose(fp);

    

    

    Sprite* sp=Sprite::create(path.c_str());

    sp->setPosition(Vec2(100,100));

    this->addChild(sp,3);

    

    /*

    // Dump the data

    std::vector<char>* buffer = response->getResponseData();

    

    for (unsigned int i = 0; i <buffer-> size (); i ++)

    {

        log ("% c", (* buffer) [i]);

    }

     */

}



cocos2d::network::HttpRequest* request = new (std :: nothrow) cocos2d::network::HttpRequest();

    request->setUrl("http://imgsrc.baidu.com/image/c0%3Dshijue1%2C0%2C0%2C294%2C40/sign=5bc31d05b4096b6395145613645aed31/f7246b600c338744ba7df5565b0fd9f9d72aa064.jpg");

    request->setRequestType(cocos2d::network::HttpRequest::Type::GET);

    request->setResponseCallback(CC_CALLBACK_2 (EmailScene::onHttpRequestCompleted, this));

    

    cocos2d::network::HttpClient::getInstance()->sendImmediate(request);

    

    request->release();






猜你喜欢

转载自blog.csdn.net/frankxixu/article/details/79675488