J'utilise un système de fichiers virtuel et j'aimerais y joindre un fichier à un courriel. Cependant, l'objet MimeBodyPart ne prend que les fichiers, qui ne fonctionnent pas sur un système de fichiers par défaut comme jimfs. Voir mon code ci-dessous, où j'obtiens une exception UnsupportedOperation lorsque j'essaie de convertir en fichier.java attacher le fichier du système de fichiers virtuel au courrier électronique
public Email attach(Path file){
MimeBodyPart attachment = new MimeBodyPart()
attachment.attachFile(file.toFile())
attachments.add(attachment)
return this
}
Quelle version de l'API utilisez-vous? L'opération unsupportedOperation est-elle survenue en attachant le fichier à MimeBodyPart ou à File.toFile() qui ne prend pas en charge le système de fichiers virtuel? –
L'appel file.toFile() lance l'exception non prise en charge, car jimfsPath n'implémente pas cette méthode. J'utilise java 8. Autant que je sache, MimeBodyPart sait seulement comment interagir avec les fichiers, pas avec les objets Path. – Steve
Ok Donc, si je vous ai bien compris, vous devez utiliser l'API jimfs, écrire le fichier dans le système de fichiers, puis le rattacher à la classe MimeBodyPart. La méthode avancée consiste à "étendre" le fichier et à surcharger les méthodes qui permettraient un flux dynamique du contenu à partir de jimfs. Cependant, je m'en tiens à l'approche simple en premier. –