Foros del Web » Programando para Internet » PHP »

como guardar imagen SVG generada online

Estas en el tema de como guardar imagen SVG generada online en el foro de PHP en Foros del Web. hola a todos, quiero recoger la firma del cliente recogiendo las condiciones del contrato. para recoger la firma he probado con con signature_pad aqui va ...
  #1 (permalink)  
Antiguo 22/02/2017, 07:10
 
Fecha de Ingreso: agosto-2002
Ubicación: Lleida
Mensajes: 506
Antigüedad: 21 años, 8 meses
Puntos: 0
como guardar imagen SVG generada online

hola a todos,
quiero recoger la firma del cliente recogiendo las condiciones del contrato.
para recoger la firma he probado con con signature_pad
aqui va el ejemplo/demo
https://szimek.github.io/signature_pad/
lo que me muestra es un imagen en formato png o svg en una ventana nueva pero yo quiero que la imagen guardarla directamente pero no se como guardarla.
como me aconsejáis guardarla:

- en la bbdd en un formato blob
- como una imagen en una carpeta

en cualquier caso como convierto la imagen a un fichero?
gracias
  #2 (permalink)  
Antiguo 22/02/2017, 08:21
 
Fecha de Ingreso: octubre-2010
Ubicación: España
Mensajes: 1.007
Antigüedad: 13 años, 6 meses
Puntos: 123
Respuesta: como guardar imagen SVG generada online

hace algun tiempo deje este aporte que hace mas o menos eso.

una vez que la imagen es enviada al servidor utilizo una funcion similar a esta para guardarla como archivo.
Código PHP:
function uploadImgBase64 ($base64,$name){
    
$binBase64 base64_decode(preg_replace('#^data:image/\w+;base64,#i'''$base64));
    
$path='/ruta/'.$name.'.png';
    if(
file_put_contents($path$binBase64)===false){
        return 
false;
    }
    else{
        return 
true;
    }

Código PHP:
uploadImgBase64('data:image/png;base64,iVBORw0KG............','nombre_imagen'); 
El nombre debe de ser unico, puedes utilizar time() para generar nombres que no se repitan y tener ademas una marca de tiempo.

Mi recomendacion es que guardes la imagen en un directorio como archivo el nombre en la base de datos
__________________
Unset($vida['malRollo']);
  #3 (permalink)  
Antiguo 22/02/2017, 16:11
Avatar de Eleazan  
Fecha de Ingreso: abril-2008
Ubicación: Ibiza
Mensajes: 1.879
Antigüedad: 16 años
Puntos: 326
Respuesta: como guardar imagen SVG generada online

Buenas, en la documentación tienes un ejemplo en php:

Código PHP:
$data_uri "data:image/png;base64,iVBORw0K...";
$encoded_image explode(","$data_uri)[1];
$decoded_image base64_decode($encoded_image);
file_put_contents("signature.png"$decoded_image); 
Solo tendrías que crear un fichero que recibiera ese $data_uri (que se obtiene con el método toDataURL() de signaturePad), y listo
__________________
>> Eleazan's Source
>> @Eleazan

Etiquetas: svg
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 19:22.