2015-08-25 6 views
5

Solo per scopi didattici, desidero creare un file di tipo MIME. C'è qualche Java API disponibile per creare file? Voglio incorporare la risposta pkcs7 in questo file.Creazione di file con codifica MIME in Java

Content-Type: multipart/mixed; boundary="=_1_1440399813_23993" 
Content-Transfer-Encoding: 8bit 

This is a MIME-formatted message. If you see this text it means that your 
E-mail software does not support MIME-formatted messages. 

--=_1_1440399813_23993 
Content-Disposition: attachment; filename=hello.pdf 
Content-Type: application/pdf 
Content-Transfer-Encoding: base64 

MMDAwMCBuIAowMDAwMDA1MzUwIDAwMDAwIG4g 
CnRyYWlsZXIKPDwvU2l6ZSAxNC9Sb290IDEyIDAgUgovSW5mbyAxMyAwIFIKL0lEIFsgPDZCQjND 
QzhCOTkyNDMxMkIxMEZDOUI1MjM3NEQzODYyPgo8NkJCM0NDOEI5OTI0MzEyQjEwRkM5QjUyMzc0 
RDM4NjI+IF0KL0RvY0NoZWNrc3VtIC9FNUJGNDQ1NENFRUY4RDk0RjNGRDM4NUU5NTFEOERBNAo+ 
PgpzdGFydHhyZWYKNTUyNQolJUVPRgo= 

--=_1_1440399813_23993 
Content-Disposition: attachment; filename=hello.pdf.p7s 
Content-Type: application/pkcs7-mime 
Content-Transfer-Encoding: base64 

Lxbtj3FFg7Ss7fxsq/pSBHYBTLlDZ9K1 
mmMmCygSi6+JMfbqj/vu50L79qtq3TgfMXh8GIOWqpiIh6c4/U29T6yZIBFktqiS1vRWiONM9OCx 
WlrP70y9XePc/L+HyBeuUjFNCnSsxVO1atgYgLI4GdXu2jc1wTonuQVmNbsTtQ2r27SiM9eTkJYW 
jrURoe5lBMTQ6rxGZWdB8bnQXjvQhmOqoDmXJ161MZ/jxbTEwHclDuKggOG29nEfZe/ybq25Fyu8 
k01tvUXJJ1EanVZQwFVaoqOmR6W1/HGSxB3S7A== 

--=_1_1440399813_23993-- 

C'è qualche api disponibile per creare questo tipo di file? Posso dare qualsiasi estensione per questo file? Sono molto nuovo in questo settore.

risposta

0

Per quanto ne so, non ci sono API pronte per questo.

Ricordare che la codifica multipart MIME è solo testo. Quindi puoi formattarlo nel normale StringBuilder.

L'unica parte un po 'difficile può essere la codifica in base64, ma per questo esiste una classe pronta: Base64.

Si potrebbe facilmente avere una funzione, che accetta una matrice di byte e restituisce la stringa formattata, oppure si può fare una classe a cui mantenere addData -ing e quindi ottenere il risultato.

Dipende davvero dal tuo progetto cosa vuoi fare.

2

Dovresti essere in grado di utilizzare l'API Java Mail per questo. (http://www.oracle.com/technetwork/java/javamail/index-141777.html)

Ma in realtà la mia esperienza è che questa API non è divertente da utilizzare e finché si desidera codificare più file in un messaggio MIME, potrebbe essere più semplice codificarlo da soli.

Alcuni framework come Spring (org.springframework.mail. *) Creano wrapper attorno a Java Mail, che ne semplificano l'utilizzo.