Télécharger le fichier vaadin
J'ai fait un taable qui a sa source de données définie à une BeanItemContainer. Chaque fève de cacao a un nom (Chaîne de caractères) et un byte[] qui contient un fichier converti en byte[]. J'ai ajouté un bouton pour chaque ligne ce qui est supposer pour télécharger le fichier d'abord le convertir en un fichier pdf. J'ai du mal à mettre en œuvre le téléchargement de la partie voici le code:
public Object generateCell(Table source, Object itemId,
Object columnId) {
//TODO Auto-generated method stub
final Beans p = (Beans) itemId;
Button l = new Button("Link to pdf");
l.addClickListener(new Button.ClickListener() {
@Override
public void buttonClick(ClickEvent event) {
//TODO Auto-generated method stub
try {
FileOutputStream out = new FileOutputStream(p.getName() + ".pdf");
out.write(p.getFile());
out.close();
} catch (Exception e) {
//TODO Auto-generated catch block
e.printStackTrace();
}
}
});
l.setStyleName(Reindeer.BUTTON_LINK);
return l;
}
});
Donc getFile obtient le tableau d'octets à partir de la fève
OriginalL'auteur abden003 | 2013-07-01
Vous devez vous connecter pour publier un commentaire.
Si vous utilisez Vaadin 7, vous pouvez utiliser FileDownloader extension comme décrit ici: https://vaadin.com/forum#!/thread/2864064
Au lieu d'utiliser un clicklistener vous devez étendre le bouton à la place:
Pour obtenir le StreamResource:
OriginalL'auteur kris54321
Généré des colonnes de la création est bien décrite dans Livre de Vaadin, une correction de ton code serait de vérifier columnId ou propertyId pour vous assurer de créer un bouton dans la colonne de droite - à l'heure actuelle, il semble que vous renvoyer un bouton pour n'importe quelle colonne.
Quelque chose comme ceci:
Pour télécharger un fichier:
Plus d'informations sur la façon de traiter avec les ressources peuvent être trouvées dans Livre de Vaadin.
OriginalL'auteur Sergey Makarov