1.导入头文件
#include "network/HttpClient.h"
#include "network/HttpRequest.h"
#include "network/HttpResponse.h"
USING_NS_CC;
using namespace std;
using namespace network;
2.
void SXMJDowloadImg::downloadPicture(string url) { HttpRequest *request = new HttpRequest(); request->setRequestType(HttpRequest::Type::GET); request->setTag("downLoad tag 1"); // request->setUrl("http://v1.qzone.cc/avatar/201508/07/11/15/55c422c576a8b002.jpg%21200x200.jpg"); request->setUrl(url); request->setResponseCallback(CC_CALLBACK_2(SXMJDowloadImg::onDownloadComplete,this)); HttpClient::getInstance()->sendImmediate(request); request->release(); } void SXMJDowloadImg::onDownloadComplete(HttpClient *sender,HttpResponse *response) { if (!response) { return; } if (!response->isSucceed()) { CCLOG("error %s",response->getErrorBuffer()); return; } std::vector<char> *buffData = response->getResponseData(); char *buff = (char *)malloc(buffData->size()); std::copy(buffData->begin(),buffData->end(),buff); auto fileName = FileUtils::getInstance()->getWritablePath() + "imgLocalName" + ".jpg"; log("the fileName is %s",fileName.c_str()); FILE *fp = fopen(fileName.c_str(),"wb+"); fwrite(buff,1,buffData->size(),fp); fclose(fp); }
原文链接:https://www.f2er.com/cocos2dx/338994.html