【问题标题】:Read Json And File Slim Framework阅读 Json 和 File Slim 框架
【发布时间】:2018-03-22 14:17:11
【问题描述】:

如何在 slim 框架中同时读取 Json 和 File?,我正在尝试这个:

$entityManager = $this -> get(‘em’);
try{
        //Salvar foto
        $files = $request->getUploadedFiles();
        $newimage = $files['foto'];
        if ($newimage->getError() === UPLOAD_ERR_OK) {
            $uploadFileName = $newimage->getClientFilename();
            $type = $newimage->getClientMediaType();
            $name = uniqid('img-' . date('d-m-y') . '-');
            $name .= $newimage->getClientFilename();
            //  $imgs[] = array('url' => '/Photos/' . $name);
            //local server
            $newimage->moveTo("/home/citycare/imgs/$name");#/home/citycare/Imgs/User/$name
            //localdev
            $photoURL = "/home/citycare/public_html/Imgs/user/$name";#/home/citycare/Imgs/User/$name
        }

    //Instância da entidade Login
    $login = new Login();
    //recuperando o parâmetro objeto login do json


    $fk_login_cidadao = $request->getParam('fk_login_cidadao');
    //setando valores do objeto login
    $login ->setLogin($fk_login_cidadao['login']);
    $login ->setEmail($fk_login_cidadao['email']);
    $login ->setSenha($fk_login_cidadao['senha']);
    $login ->setStatus_login($fk_login_cidadao['status_login']);
    $login ->setAsAdministrador($fk_login_cidadao['administrador']);
    //salvando login
    $entityManager->persist($login);
    $entityManager->flush();
    //buscando login recém salvo
    $loginRepository = $entityManager->getRepository('App\Models\Entity\Login');
    //pegando login
    $loginCidadao = $loginRepository->find($login->getId_login());

    //Instância da entidade Cidadao
    $cidadao = new Cidadao();
    //setando valores do objeto cidadao
    $cidadao ->setFk_login_cidadao($loginCidadao);
    $cidadao->setNome($request->getParam('nome'));
    $cidadao->setSexo($request->getParam('sexo'));
    $cidadao ->setSobrenome($request->getParam('sobrenome'));
    $cidadao ->setEstado($request->getParam('estado'));
    $cidadao ->setCidade($request->getParam('cidade'));
    $cidadao ->setDir_foto_usuario($request->getParam($photoURL));
    $entityManager->persist($cidadao);
    $entityManager->flush();
    //retornando confirmação do evento completo
    $return = $response->withJson(["result" => true],201)->withHeader('Content-type', 'application/json');


} catch (Exception $ex){
    //código e mensagem do erro
    throw new Exception($ex->getMessage(), $ex->getCode());
}
return $return;

}

but I’m getting this {“message”:"An exception occurred while executing ‘INSERT INTO login (email, login, senha, status_login, administrador) VALUES (?, ?, ?, ?, ?)’ with params [null, null, “”, null, null]:\n\nSQLSTATE[23000]:

我正在从一个 android 应用程序接收 Json 和 File,现在我正在尝试使用内容类型的 json 帖子;

内容配置:表单数据; name="cidadao"

这是json:

内容类型:multipart/form-data;字符集=utf-8 {"cidade":"Aiuaba","estado":"Ceará","fk_login_cidadao":{"administrador":false,"email":"jvictor@jvictor.com","login":"kikokiko","senha ":"123123123","status_login":true},"nome":"jijo","sexo":"Masculino","sobrenome":"jdiasjdia"}

【问题讨论】:

    标签: php json file slim


    【解决方案1】:
    1. 您的 json 密钥是 cidadao。 $fk_login_cidadao = json_decode( $request->getParam('cidadao') ); 你需要解码。
    2. 解码后的字符串被解析为一个对象,你可以这样访问它:$login->setLogin( $fk_login_cidadao->login );

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-02-04
      • 2013-06-12
      相关资源
      最近更新 更多