使用slim框架上传图像以及其他文本数据的REST服务

时间:2014-12-16 17:33:30

标签: php rest curl slim

我一直试图将图像与其他文本数据一起上传,并将图像放在一个必须用数据库的一个id字段引用的文件夹中。

我正在使用Slim框架来实现这个休息api服务。 这些是我的代码

$app->post('/ProjectBook', function() use ($app) {
            verifyRequiredParams(array('flat_no', 'customer_name', 'status','photoid'));
            $response = array();
            $flat_no = $app->request->post("flat_no");
                        $customer_name = $app->request->post('customer_name');
                        $photoid = $app->request->post('photoid');
                        move_uploaded_file($_FILES["file"]["temp_name"], 'folders'.$photoid.'/'.$_FILES["file"]["name"]);
                        $data = array($flat_no,  $customer_name, $status, $photoid);   
            $db = getConnection();

                        $stmt = $db->prepare("INSERT INTO projectbook(flat_no, customer_name, status, photoid ) VALUES( ?, ?, ?, ?)");
            $res = $stmt->execute($data);
                            if ($res != NULL) {
                            $response["error"] = false;
                            $response["message"] = "submited successfully";

                             echoRespnse(201, $response);
                            } else {
                            $response["error"] = true;
                            $response["message"] = "Failed to insert data. Please try again";
                            echoRespnse(200, $response);
                            }  

           });

我正在使用curl来测试它

$curl -X POST -F "photoid=@pic.php" -F "flat_no=4&customer_name=yes&status=booked" http://localhost/Api_service/ProjectBook

但它不起作用。返回{"error":true,"message":"Required field(s) customer_name, status, photoid is missing or empty...."}

的验证API

我该如何执行此流程?

0 个答案:

没有答案