Passer au contenu principal

File Upload

Ouvrir dans ChatGPT
Ombre 24.02
Java API

Un FileUploadDialog est une boîte de dialogue modale conçue pour permettre à l'utilisateur de télécharger des fichiers depuis son système de fichiers local. La boîte de dialogue bloque l'exécution de l'application jusqu'à ce que l'utilisateur sélectionne des fichiers à télécharger ou ferme la boîte de dialogue.

Usages

Le FileUploadDialog fournit un moyen de sélectionner et de télécharger des fichiers, permettant aux utilisateurs de soumettre des documents, des images ou d'autres types de fichiers requis par l'application. Utilisez showFileUploadDialog() pour afficher la boîte de dialogue et capturer le fichier téléchargé.

UploadedFile result = OptionDialog.showFileUploadDialog("Télécharger un fichier");

Résultat

Le FileUploadDialog retourne un objet UploadedFile qui contient des informations sur le fichier téléchargé, telles que son nom, sa taille et son contenu. Si l'utilisateur ferme la boîte de dialogue sans sélectionner de fichier, le résultat sera null.

important

La chaîne résultante sera retournée par la méthode show(), ou la méthode équivalente OptionDialog comme montré ci-dessous.

Afficher le code

Déplacer les fichiers téléchargés

Par défaut, webforJ stocke les fichiers téléchargés dans un dossier temporaire qui est régulièrement nettoyé. Si vous ne déplacez pas le fichier ailleurs, il sera supprimé. Pour déplacer le fichier, utilisez la méthode move et spécifiez le chemin de destination.

UploadedFile uploadedFile = OptionDialog.showFileUploadDialog("Sélectionnez un fichier à télécharger");
try {
File file = uploadedFile.move("my/full/path/" + uploadedFile.getSanitizedClientName());
// ... faire quelque chose avec le fichier
} catch (IOException e) {
// gérer l'exception
}
Nom de Fichier Sanitisé

Utilisez la méthode getSanitizedClientName pour obtenir une version sanitisée du nom du fichier téléchargé. Cette méthode aide à prévenir les risques de sécurité tels que les attaques par traversée de répertoire ou les caractères invalides dans les noms de fichiers, garantissant l'intégrité et la sécurité de votre système de stockage de fichiers.

Filtres

Le FileUploadDialog vous permet de définir des filtres pour limiter les types de fichiers pouvant être sélectionnés pour le téléchargement. Vous pouvez configurer des filtres en utilisant la méthode setFilters(List<FileChooserFilter> filters).

FileUploadDialog dialog = new FileUploadDialog(
"Télécharger un fichier",
Arrays.asList(new FileChooserFilter("Fichiers texte", "*.txt")));
UploadedFile result = dialog.show();
Validation des Filtres

Le serveur ne validera pas le fichier téléchargé par rapport aux filtres. Les filtres ne sont appliqués que dans l'interface utilisateur pour guider la sélection de l'utilisateur. Vous devez mettre en œuvre une validation côté serveur pour vous assurer que les fichiers téléchargés répondent aux exigences de votre application.

Taille maximale

Il est possible de définir la taille maximale des fichiers pour les téléchargements afin de garantir que les utilisateurs ne téléchargent pas des fichiers trop volumineux pour que votre application puisse les gérer. Cela peut être configuré en utilisant la méthode setMaxFileSize(long maxSize), où maxSize est spécifié en octets.

dialog.setMaxFileSize(2 * 1024 * 1024); // Définir la taille max à 2 Mo

Internationalisation (i18n)

Les titres, descriptions, étiquettes et messages au sein du composant sont entièrement personnalisables à l'aide de la classe FileUploadI18n. Cette flexibilité vous permet d'adapter l'interface de la boîte de dialogue pour répondre à des exigences de localisation spécifiques ou des préférences de personnalisation.

FileUploadDialog dialog = new FileUploadDialog("Télécharger un fichier");
FileUploadI18n i18n = new FileUploadI18n();
i18n.setUpload("Télécharger");
i18n.setCancel("Annuler");
dialog.setI18n(i18n);
UploadedFile result = dialog.show();

Meilleures pratiques

  1. Invitations Claires et Concises : Assurez-vous que le message d'invitation explique clairement ce que l'on demande à l'utilisateur de télécharger.
  2. Filtres Appropriés : Définissez des filtres de fichiers correspondant aux types de fichiers requis pour garantir que les utilisateurs téléchargent des fichiers pertinents.
  3. Chemins Initiaux Logiques : Définissez des chemins initiaux qui fournissent aux utilisateurs un point de départ utile pour leur sélection de fichiers.
  4. Restreindre la Navigation dans les Répertoires : Restreignez la boîte de dialogue à un répertoire spécifique lorsque nécessaire pour empêcher les utilisateurs de naviguer vers des zones non autorisées.
  5. Thématiques Cohérentes : Alignez les thèmes de la boîte de dialogue et du champ de téléchargement avec le design de votre application pour une expérience utilisateur cohérente.
  6. Minimiser la Surutilisation : Utilisez les boîtes de dialogue de téléchargement de fichiers avec parcimonie pour éviter la frustration des utilisateurs. Réservez-les pour les actions nécessitant des téléchargements spécifiques de fichiers par l'utilisateur.