OK, donc voici le code qui crée le BufferedImage, il code comme une chaîne base64, puis en utilisant les messages de la bibliothèque des communes apache le string sur http à un serveur ROR.
BufferedImage bi = new BufferedImage(110, 110, BufferedImage.TYPE_INT_RGB);
Graphics2D g2 = bi.createGraphics();
AffineTransform saveTX = new AffineTransform();
saveTX.translate(translateX, translateY);
saveTX.scale(0.2, 0.2);
g2.setTransform(saveTX);
this.paint(g2);
ImageInputStream bigInputStream = ImageIO.createImageInputStream(bi);
ByteArrayOutputStream baos = new ByteArrayOutputStream();
ImageIO.write(bi, "BMP", baos);
byte[] bytes = baos.toByteArray();
String dataImg = new Base64().encodeBase64String(bytes);
PostMethod post = new PostMethod("http://localhost:3001/upload/file");
post.addParameter("upload[test]", dataImg);
HttpClient client = new HttpClient();
int status = client.executeMethod(post);
g2.dispose();
Le serveur ROR prend simplement la chaîne, le décode et enregistre le disque dur ....
require "base64"
class UploadController < ApplicationController
#Token = nil
skip_before_filter :verify_authenticity_token
def index
render :file => 'app\views\upload\uploadfile.html.erb'
end
def file
File.open('test.gif', 'wb') do|f|
f.write(Base64.decode64(params[:upload][:test]))
end
render :text => "File has been uploaded successfully"
end
fin
Merci pour les gars d'aide,
slotishtype
Premier résultat dans google was this link http://www.java-tips.org/java-ee-tips/java-servlet/how-to-return-an-i mage-in-a-servlet.html – newbie
Oui, mais c'est un code de servlet. Je suis à la recherche du code client qui s'exécute dans l'applet. Bon point cependant, j'ai modifié la question. – slotishtype
La réponse à cette question pourrait être un peu d'aide: http://stackoverflow.com/questions/3577834/how-to-send-an-image-from-a-java-applet-to-javascript –