【问题标题】:send/retrieve xml file to/from server cocos2d-x向/从服务器 cocos2d-x 发送/检索 xml 文件
【发布时间】:2015-09-30 16:40:58
【问题描述】:

我的应用程序将它需要的所有数据保存到存储在设备上的 xml 文件中。当用户打开应用程序时,它会提取该 xml 文件,以便他们可以保留保存的数据。

我希望能够将该 xml 文件上传到服务器,特别是在可能的情况下使用带有 GET/POST 调用的 php 脚本。我知道如何发送和检索单个变量值,但不知道如何发送文件,特别是 xml 文件。

我可以使用 cocos2d HttpRequest/HttpClient 类来实现吗?或者有没有更好的方法。

谢谢

【问题讨论】:

    标签: php xml httprequest cocos2d-x pugixml


    【解决方案1】:

    我不熟悉 cocos2d,但是他们的网站有一个通过POST 请求传输文件的示例(这是传输 XML 等数据的更好方法)。

    From the cocos3d-x.org wiki:

    cocos2d::network::HttpRequest* request = new cocos2d::network::HttpRequest();
    request->setUrl("http://www.httpbin.org/post");
    request->setRequestType(cocos2d::network::HttpRequest::Type::POST);
    request->setResponseCallback( CC_CALLBACK_2(HttpClientTest::onHttpRequestCompleted, this) );
    
    // write the post data
    const char* postData = "visitor=cocos2d&TestSuite=Extensions Test/NetworkTest";
    request->setRequestData(postData, strlen(postData));
    
    request->setTag("POST test1");
    cocos2d::network::HttpClient::getInstance()->send(request);
    request->release();
    

    在本例中,他们使用postData 字符串作为数据;您需要将其替换为 XML 内容。

    此外,您还应包括以下标准标题:

    • Content-Type: application/xml; charset=utf-8 表示数据类型及其编码
    • Content-Length: 12389128 显示附加数据的长度(以字节为单位)

    您还可以探索基本压缩,这应该会显着缩小 XML。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-02-07
      • 2013-07-25
      • 1970-01-01
      • 2012-03-17
      • 2013-11-19
      • 1970-01-01
      • 2012-07-17
      • 1970-01-01
      相关资源
      最近更新 更多