Ich habe einen Controller auf diese Methode von einer GET-Anfrage angeschlossen:Wie png in http-Anfrage rendern?
def renderPNG() {
URL url = new URL("https://absolute.url.png");
BufferedImage img = ImageIO.read(url);
ByteArrayOutputStream baos = new ByteArrayOutputStream();
ImageIO.write(img, "png", baos);
InputStream is = new ByteArrayInputStream(baos.toByteArray());
DataInputStream ds = new DataInputStream(is);
render file: ds, contentType: "image/png"
}
Aber wenn ich das Bild in der Antwort zu erhalten, ist es mit seltsamen Zeichen codiert. Wie kann ich das Bild abrufen und decodieren, damit es von einem Browser gerendert werden kann?
Ich denke, an diesem Punkt müssen Sie nur den Browser sagen, das Bild machen wollen, dass es Bild ist Byte. http://stackoverflow.com/questions/12041851/converting-bytes-to-an-image-for-drawing-on-a-html5-canvas – elixir
Ich verstehe nicht – dopatraman
Sie werden wahrscheinlich eine Content-Type-Header senden müssen : 'Content-type: image/png' weiß nicht, wie man das in dieser Sprache tut –