离子:将文件发布到服务器

时间:2018-05-01 09:36:59

标签: angularjs json typescript http ionic-framework

我想将JSON / CSV文件发布到服务器并将其保存在该位置,就像我可以手动放在那里的其他文件一样(例如FileZilla)并稍后从另一个用户。

我已尝试使用 http.post 方法,因为它写成here但未成功。

如果有人可以帮我解决这个问题,那将会很棒。

1 个答案:

答案 0 :(得分:1)

您需要服务器来接收数据并将其保存到磁盘。 你可以使用你所遵循的tutorial之类的东西。

唯一需要改变的是php服务器应该将你的帖子请求的内容写入磁盘。类似下面的脚本

  

我没有对此进行测试,因此可能需要进行一些更改。

<?php
    //http://stackoverflow.com/questions/18382740/cors-not-working-php
    if (isset($_SERVER['HTTP_ORIGIN'])) {
        header("Access-Control-Allow-Origin: {$_SERVER['HTTP_ORIGIN']}");
        header('Access-Control-Allow-Credentials: true');
        header('Access-Control-Max-Age: 86400');    // cache for 1 day
    }

    // Access-Control headers are received during OPTIONS requests
    if ($_SERVER['REQUEST_METHOD'] == 'OPTIONS') {

        if (isset($_SERVER['HTTP_ACCESS_CONTROL_REQUEST_METHOD']))
            header("Access-Control-Allow-Methods: GET, POST, OPTIONS");         

        if (isset($_SERVER['HTTP_ACCESS_CONTROL_REQUEST_HEADERS']))
            header("Access-Control-Allow-Headers:        {$_SERVER['HTTP_ACCESS_CONTROL_REQUEST_HEADERS']}");

        exit(0);
    }


    //http://stackoverflow.com/questions/15485354/angular-http-post-to-php-and-undefined
    $postdata = file_get_contents("php://input");
    if (isset($postdata)) {
        $request = json_decode($postdata);
        $myfile = fopen("newfile.json", "w") or die("Unable to open file!");
        fwrite($myfile, $request);
        fclose($myfile);
    }
    else {
        echo "Not called properly!";
    }
?>