cocos2dx에서 .png 파일을 PHP 서버로 업로드해야합니다. 내가 여기에 설명 된 같은 엔진을 편집cocos2dx에서 png 파일을 PHP 서버에 업로드하는 방법
(.txt를 테스트 목적으로 괜찮습니다) : 여기
http://discuss.cocos2d-x.org/t/upload-file-with-httpclient-solved/18028/4 과 : https://github.com/FenneX/FenneX/commit/134e9433c1dbc3ca6f772ce4c149bf911275a7e9
그래서 지금 무엇? 파일을 서버에 업로드하려면 어떻게해야합니까?
이것은 나의 시도이지만 나는 http/network noob이기 때문에 내가 무엇을하고 있는지 전혀 모른다 ... 나는 단지 간단한 예제 만 있으면된다.
cocos2dx 업로드 버튼 소스 :
// HTTP post
auto buttonPost = CustomButton::create("Post data",[this](Ref *pSender){
__String *dataToSend = __String::create("dataOne=45&dataTwo=100");
cocos2d::network::HttpRequest *request =
new cocos2d::network::HttpRequest();
request->setUrl("http://XXX.XXX.XXX.XXX/post.php");
request->setRequestType(cocos2d::network::HttpRequest::Type::POSTFILE);
request->setRequestData(dataToSend->getCString(), dataToSend->length());
request->setFilePath("res/test.txt");
request->setResponseCallback([=]
(network::HttpClient* client,
network::HttpResponse* response)
{
std::vector<char> *buffer = response->getResponseData();
printf("Get data from server");
for (unsigned int i = 0; i < buffer->size(); i++)
{
printf("%c", (*buffer)[i]);
}
printf("\n\n\n");
printf("Response Code %li ", response->getResponseCode());
if (200 == response->getResponseCode())
{
printf("OK \n");
}
else
{
printf("failed \n");
}
});
cocos2d::network::HttpClient::getInstance()->send(request);
request->release();
});
PHP는 서버 측 코드 :
<?php
$uploaddir = "uploads/";
$uploadfile = $uploaddir . basename($_FILES['file']['name']);
if(move_uploaded_file($_FILES['file']['tmp_name'], $uploadfile))
{
echo "The file has been uploaded successfully";
}
else
{
echo "There was an error uploading the file";
}
?>