2013-01-09 108 views
0

什麼是放置一些臨時文件的最佳位置,以後將成爲附件(通過embedObject)?是否有可用於此目的的xpages臨時文件夾?附件的臨時文件夾

或者有沒有一種方法可以在不使用中間文件的情況下從流創建atachments?

+3

在我的opionion中,最好的地方是服務器上的* Temp *目錄。您可以使用* System.getProperty(「java.io.tmpdir」)*來獲取路徑。是的,有一些XPages特定的臨時文件夾。你在做什麼? –

+0

沒什麼特別 - 只需將動態創建的pdf添加到文檔中,不會影響安全性。 xpages默認是否可以訪問系統臨時目錄,還是必須添加一些授權? –

回答

1

你可以用MIMEEntity做這樣的事情。然後,您將能夠將附件直接傳輸到您的筆記文檔中。您將不得不通過文件內容獲取notesdocument和outputstream的句柄。然後,您可以嘗試按照我在此處的代碼段中完成的操作。

 MIMEEntity m = newDoc.createMIMEEntity(fieldNameForFiles); 
     MIMEHeader header = m.createHeader("content-disposition"); 
     header.setHeaderVal("attachment;filename=\"" + this.getFileName() + "\""); 
     Stream oStream = session.createStream(); 
     InputStream is = new ByteArrayInputStream(((ByteArrayOutputStream)outStream).toByteArray()); 
     oStream.setContents(is); 
     m.setContentFromBytes(oStream, "application/pdf", MIMEEntity.ENC_IDENTITY_BINARY); 
     m.decodeContent(); 
     newDoc.save(true, true);