我需要创建一个通过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文件的正确方法。
谢谢!