2015-08-25 37 views
5

僅用於學習目的,我想創建MIME類型文件。有沒有可用於創建文件的java api?我想將pkcs7響應嵌入到此文件中。在Java中創建MIME編碼的文件

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-- 

是否有任何api availabe來創建這種類型的文件?我可以給這個文件的任何擴展名?我在這方面很新。

回答

0

據我所知,目前還沒有現成的API。

請記住,MIME多部分編碼只是純文本。因此,您可以在常規StringBuilder中對其進行格式設置。

唯一有點困難的部分可能是base64編碼,但爲此有一個準備好的類:Base64

你可以很容易地獲得一個函數,該函數接受一個字節數組的數組並返回格式化的字符串,或者你可以創建一個類,然後保存它,最後得到結果。

這真的取決於你的設計你想要做什麼。

2

您應該可以使用Java Mail API進行此操作。 (http://www.oracle.com/technetwork/java/javamail/index-141777.html

但實際上我的經驗是,這個API沒有什麼好玩的用處,只要你只是想編碼幾個文件到一個MIME消息,它可能會更容易編碼它自己。

像Spring這樣的一些框架(org.springframework.mail。*)構建了Java Mail的包裝器,使它更易於使用。