Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public function uploadSingleImage(Request $request,EntityManagerInterface $emm,Ayuda $helpers) {
- $dataJson = $request->get('data', null);
- if ($dataJson != null) {
- $params = json_decode($dataJson);
- $login = isset($params->login) ? $params->login : null;
- $base64 = isset($params->base64) ? $params->base64 : null;
- $base64 = str_replace(" ", "+", $base64); //El string base_64 nos llega con espacios que sustituiremos por símbolos ‘+’.
- $uniname = uniqid() . date("Y-m-d-H-i-s") . ".jpg"; //Generamos el nombre de la imagen, lo usaremos para guardar la misma como archivo y en la base de datos.
- $new_image_url = "../public/images/profile/" . $uniname; //Generamos la url donde se almacena la foto.
- $base64 = 'data:image/jpeg;base64,' . $base64;
- $base64 = base64_decode(preg_replace('#^data:image/\w+;base64,#i', '', $base64)); //Añadimos una cabecera para que el string base_64 se interprete como una imagen y lo decodificamos.
- file_put_contents($new_image_url, $base64); //Pasamos la foto al directorio indicado.
- $em = $this->getDoctrine();
- $userD = $em->getRepository(UsuariosDetalles::class)->find($login); //Buscamos al usuario que ha realizado la foto para insertar la ruta a su foto de perfil.
- $userD->setImg("images/profile/" . $uniname); //Insertamos la ruta a la foto de perfil del usuario que ha realizado la foto.
- $emm->flush(); //Aplicamos cambios
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement