0
quand je mis en œuvre comme indiqué ici, mais pour ne pas travailler ma mise en œuvre est ServerSide:l'image GWT obtenir du serveur
File f = fileFromDatabase // from database the fileName is india.png
DataInputStream din = new DataInputStream(new FileInputStream(f));
din.readFully(data);
din.close();
String base64 = Base64Utils.toBase64(data);
String[] s = filename.split("\\.");
base64 = "data:" + "india/png" + ";base64," + base64;
or
base64 = "data:image/png;base64," + base64;
return base64;
clientSide:
imageService.getImageData(new AsyncCallback() {
@Override
public void onSuccess(String imageData) {
Image image = new Image(imageData);
Canvas.addChild(image);
//this Canvas class addItem into com.smartgwt.client.widgets.Window
}
@Override
public void onFailure(Throwable caught) {
}
}
client side imageData stirng is <image class="gwt-Image src=sume big string starts with "data:image/png;base64,someSting......>"
côté client eventhough ne pouvait pas voir l'image.
S'il vous plaît effacer mon doute Merci à l'avance
Comment utilisez-vous la toile? Si vous dessinez l'image sur un canevas, vous devez l'attacher au DOM avant de pouvoir l'utiliser. Votre encodage à base64 semble correct. – WLGfx
Merci pour la réponse myClass extends Canvas {tout le code côté client ici enfin juste this.addChild (image)} je ne sais pas si elle dessine ou ajoute un composant. mais je reçois l'image du lecteur local, je peux voir l'image sur la toile. –
Vous verrez toujours l'image car elle sera toujours ajoutée au DOM mais vous devrez toujours attacher un LoadHandler si vous prévoyez d'en faire autre chose. Pour mon but, je devais l'attacher au DOM caché, attendre qu'il se charge, puis le dessiner sur une toile. – WLGfx