Exemple de téléchargement de fichier Wicket
Exemple pour vous montrer comment créer un composant WicketFileUploadField, pour permettre à l'utilisateur de sélectionner un fichier à partir du lecteur local et de le télécharger sur le serveur.
//Java import org.apache.wicket.markup.html.form.upload.FileUploadField; form.setMultiPart(true); form.add(fileUpload = new FileUploadField("fileUpload")); //HTML
Pour télécharger un fichier, vous devez activer «multipart mode» dans le composant de formulaire Wicket.
1. Exemple FileUpload
Exemple pour rendre un composant de téléchargement de fichiers et limiter lesuploaded file size to 10k. Et le nouveau fichier téléchargé sera enregistré dans un emplacement prédéfini.
package com.example.user; import java.io.File; import org.apache.wicket.PageParameters; import org.apache.wicket.markup.html.form.Form; import org.apache.wicket.markup.html.form.upload.FileUpload; import org.apache.wicket.markup.html.form.upload.FileUploadField; import org.apache.wicket.markup.html.panel.FeedbackPanel; import org.apache.wicket.markup.html.WebPage; import org.apache.wicket.util.lang.Bytes; public class FileUploadPage extends WebPage { private FileUploadField fileUpload; private String UPLOAD_FOLDER = "C:\\"; public FileUploadPage(final PageParameters parameters) { add(new FeedbackPanel("feedback")); Form> form = new Form("form") { @Override protected void onSubmit() { final FileUpload uploadedFile = fileUpload.getFileUpload(); if (uploadedFile != null) { // write to a new file File newFile = new File(UPLOAD_FOLDER + uploadedFile.getClientFileName()); if (newFile.exists()) { newFile.delete(); } try { newFile.createNewFile(); uploadedFile.writeTo(newFile); info("saved file: " + uploadedFile.getClientFileName()); } catch (Exception e) { throw new IllegalStateException("Error"); } } } }; // Enable multipart mode (need for uploads file) form.setMultiPart(true); // max upload size, 10k form.setMaxSize(Bytes.kilobytes(10)); form.add(fileUpload = new FileUploadField("fileUpload")); add(form); } }
2. Page HTML
Rendez le composant via la balise d'entrée HTML.
Wicket file upload example
3. Demo
Démarrer et visiter -http://localhost:8080/WicketExamples/
Si la taille du fichier est supérieure à 10 000, l'erreur d'affichage
Tout va bien, affichez le nom du fichier enregistré.
Téléchargez-le -Wicket-FileUpload-Example.zip (7 Ko)