2010-09-10 19 views
7

necesito crear un componente usando lienzo html5 que da una imagen que el usuario puede pintar en él y directamente (a través de un tipo de botón guardar) cargar su versión personalizada en el servidor.HTML5 save canvas to file en el servidor

¿Puedo usar lienzo html para ello? ¿Alguna sugerencia?

THX de antemano

Respuesta

6

Usted puede obtener una imagen como datos-URL así:

var dataUrl = document.getElementById('your-canvas').toDataURL(); 

A continuación, puede enviar esta (cadena muy larga) al servidor y guardarlo en un archivo después de descifrándolo (está codificado en base64).

EDITAR: Recuerde enviar esto a través de POST, como se sugiere en los comentarios. GET tiene algunos límites de longitud en varios navegadores, por lo que es probable que exceda esos límites con una gran cantidad de datos.

+4

Recuerde utilizar 'POST' como método Ajax. Un GET podría romperse debido a su tamaño. –

+0

¡Gracias por su adición! – jwueller

+0

Este método no funciona con Chrome. –