2010-09-10 11 views
7

Ich muss eine Komponente mit html5 Leinwand erstellen, die ein Bild der Benutzer kann darauf malen und direkt (über eine Art von Save-Taste) Upload es angepasste Version auf dem Server.HTML5 Leinwand in Datei auf Server speichern

Kann ich HTML-Canvas dafür verwenden? Irgendwelche Vorschläge?

thx im Voraus

Antwort

6

Sie können das Bild als Daten-URL wie folgt erhalten:

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

Sie könnten dann diese (sehr lange Zeichenkette) an den Server senden und sie in einer Datei speichern, nachdem Decodieren (es ist in Base64 codiert).

EDIT: Denken Sie daran, diese über POST einzureichen, wie in den Kommentaren vorgeschlagen. GET hat einige Längenbeschränkungen in verschiedenen Browsern, so dass es wahrscheinlich diese Grenzen mit solch einer großen Menge an Daten überschreiten wird.

+4

Denken Sie daran, 'POST' als Ajax-Methode zu verwenden. Ein GET könnte aufgrund seiner Größe brechen. –

+0

Danke für Ihre Ergänzung! – jwueller

+0

Diese Methode funktioniert nicht mit Chrome. –