Symfony2 API - 导入和保存CSV文件的最佳方式

时间:2017-02-02 11:56:28

标签: php file api symfony csv

我需要创建一个通过POST接收.csv文件的API,该文件必须在第二时刻保存到数据库中。

这就是我编写函数的方法:

    /**
    * @Route("/importCSV", name = "import_csv")
    * @Method("POST")
    **/
    public function importCSVAction(Request $request) {

    if ($this->getRequest()->files) {
        $type = "csv";
        $filename = date('Ymd').'-'.$type.'-filename';
        $directory = $this->container->getParameter('kernel.root_dir') . '/../Documents';

        $request = $this->get('request');
        $data = $request->getContent();

        try {
            $fs = new Filesystem();
            $fs->dumpFile($filename, $data);
            move_uploaded_file($filename, $directory);
        }
        catch(IOException $e) {
            return new Response ("File not saved!", 500, array('Content-Type' => 'application/json'));
        }

        return new Response($data);
    }
    else return new Response("Error!", 500, array('Content-Type' => 'application/json'));
}

1 一个问题是该文件保存在web文件夹下,而不是Documents下我想要的文件。 另外,如何检查我导入的文件是否是.csv文件?

2 我在网上搜索过,但我没有找到很多有关此主题的资源。 我只是想知道这通常是保存.csv文件的正确方法。

谢谢!

0 个答案:

没有答案