'da yazmadan bir Apache POI Çalışma Kitabı'nı bir WorkBook
(Apache POI kitaplığından) "doğrudan" bir MimeMessage
nesnesine (Javamail kütüphanesinden) nasıl geçeceğimi anlamaya çalışıyorum) bir dosya olarak doğrudan dosyaya yazmak zorunda kalmadan bir ek olarak.Bir Javamail'in MimeMessage eki olarak dosya sistemi
Bunu yapmanın en kolay yolu görünüyor şu:
File attachmentSource = new File("tmpsource.xls");
WorkBook tmpWorkbook = new HSSFWorkBook();
//Do stuff with workbook
tmpWorkBook.write(new FileOutputStream(attachmentSource));
//Create all the Session, MimeMessage and MimeMultipart
MimeBodyPart attachment = new MimeBodyPart();
attachment.setDataHandler(new DataHandler(new FileDataSource(attachmentSource)));
attachment.setFileName(attachmentSource.getName());
//Do stuff with the message and send it
çalıştığını Bu şekilde ancak FS dosyayı yazmak zorunda kalıyorum. ilgili sorular okurken
Ben yaklaşık ByteArrayInputStream
ve ByteArrayOutputStream
öğrendim ve (dosya çok zor görünüyor 2GB
kadar şişer sürece) benim sorunu çözmek gibiydi.
Umarım kendim olduğunu açıkladım, sanırım ByteArray akışları hile yapacak, bu şekilde herhangi bir yardım veya tavsiye takdir edilecektir!
[2011/09/29] Aradım çok basit DataSource
uygulanmasını (bilin bakalım ne) ByteArrayDataSource
yarattı, bu yüzden otomatik başlıkları kurulum ve Base64 kodlama var.
Tamam, gerçekten bu şekilde çalıştı fakat ikili veri doğruca yazılır ümit posta gövdesi, bu yüzden hiçbir serin otomatik başlıklar kurmak ve hiçbir serin base64 kodlama. :(Bir şey özlüyor muyum? – Minkiele