直接上代码
bool HelloWorld::init()
{//
// 1. super init firstif ( !Layer::init() ){return false;}HttpRequest* request = new HttpRequest();request->setUrl("http://neoimaging.beareyes.com.cn/png2/ni_png_2_1518.png");request->setRequestType(HttpRequest::Type::GET);request->setResponseCallback(this, httpresponse_selector(HelloWorld::onHttpRequestCompleted));request->setTag("GET test1");HttpClient::getInstance()->send(request);request->release();return true;
}void HelloWorld::onHttpRequestCompleted(HttpClient *sender, HttpResponse *response)
{if (!response){return;}// You can get original request type from: response->request->reqTypeif (0 !&#61; strlen(response->getHttpRequest()->getTag())) {log("%s completed", response->getHttpRequest()->getTag());}int statusCode &#61; response->getResponseCode();if (!response->isSucceed()) {log("response failed");log("error buffer: %s", response->getErrorBuffer());return;}//get datastd::vector<char> *buffer &#61; response->getResponseData();//create imageCCImage* img &#61; new CCImage;img->initWithImageData((unsigned char*)buffer->data(),buffer->size());//create texturecocos2d::CCTexture2D* texture &#61; new CCTexture2D();bool isImg &#61; texture->initWithImage(img);img->release();//create spriteCCSprite* sprite &#61; CCSprite::createWithTexture(texture);texture->release();sprite->setPosition(ccp(100,100));addChild(sprite,100);//write filestd::string path &#61; CCFileUtils::sharedFileUtils()->getWritablePath();path&#43;&#61;"download_image.png";FILE *fp &#61; fopen(path.c_str(), "wb&#43;");fwrite(buffer->data(), 1,buffer->size(), fp);fclose(fp);
}