2016-06-20 6 views
0

Ich implementiere derzeit ein Tool, mit dem Sie Canvas-Bilder aus HTML-JavaScript speichern und das Canvas-Image mit JSON auf REST-konforme Web-Services hochladen können.POST-Canvas-Image von JavaScript zu RESTful Web Services

Ich bin fest, wie Canvas-Bild mit JSON zu Webservices und wie Code, der das Canvas-Bild auf Web-Services-Seite mit Java abrufen, zu implementieren.

Hoffe ihr könnt mir im fortgeschrittenen Stadium helfen!

Wirklich zu schätzen jede Hilfe oder Anleitung, danke im fortgeschrittenen Stadium.

+0

Könnten Sie bitte etwas Code hinzufügen, den Sie bisher versucht haben? – asg

+0

@asg hier ist ein Teil meines Javascript und HTML-Codes. https://jsfiddle.net/mkL58yez/2/. Jetzt bin ich dran, wie man den JSON mit den Web Services verbindet. Ich habe keine Ahnung, wie man in Java programmiert. – lastprogrammer

Antwort

0

Ich habe das vor einiger Zeit mit dem Speichern von Thumbnails von Leinwand gemacht Bild gemacht. Im Grunde Canvas-Objekt hat toDataURL() Methode, ich nannte es wieDataURL ("image/png"), und speicherte es in versteckten Feld in Form, aber Sie könnten es auch direkt mit Ajax Anruf senden.

dann habe ich im Grunde das Bild in diesem Format in db, aber Sie können es auf der Festplatte speichern, wahrscheinlich nachhaltig nachhaltiger. Beispiel Ruby/Rails Implementation von Thumbnail Retrieval:

def thumbnail 
    render :status => 200, 
     :content_type => 'image/png', 
     :text => Base64.decode64(
      thumbnail["data:image/png;base64,".length .. thumbnail.length] 
     ) # there is extra "data:image/png;base64," at the start 
end 
+0

danke, ich habe diese Methode ausprobiert. Teil des Beispiels https://jsfiddle.net/mkL58yez/2/. Jetzt bin ich dran, wie man den JSON mit den Web Services verbindet. Ich habe keine Ahnung, wie in Java zu programmieren, da ich nicht sicher bin, die Schritte der Konvertierung der Bilddatei. – lastprogrammer

+0

Nun, was Sie gerade senden, ist ein Json-Objekt mit imageData -Eigenschaft. Ich nehme an, Ihr Backend akzeptiert JSON-formatierte POST-Anfragen, Sie greifen einfach darauf zu - über das imageData-Feld, das Sie erstellt haben. Sobald Sie die Daten auf dem Server haben, können Sie die Datei speichern, wie Sie möchten - auf der Festplatte oder in der s3 Cloud. Sie müssen es zuerst von Base64 dekodieren und im Binärformat speichern. –