0

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";
        }
        ?>
4

1 に答える 1