2016-04-07 178 views
0

我有一個字段(RTF),它包含圖像附件的值,但它只顯示圖像路徑和文件名,而不是圖像顯示。我是否使用了錯誤的字段,或者在我的代碼行中有附加圖片的問題?代碼附加正確如下:Lotus Notes:在文檔上顯示圖像附件

chqRSIDoc.photodoc = workspace.Openfiledialog(True, "Select a file to attach as photo: ", "", "c:\") 

感謝所有的幫助。 謝謝!

+0

一個例子不能全部嵌入文件的代碼。顯示剩下的部分。如果這是迄今爲止所有的代碼,那麼@ umeli的答案就是指出你的方向是正確的。 –

回答

1

openFileDialog只返回一個字符串數組。見http://www.ibm.com/support/knowledgecenter/SSVRGU_9.0.0/com.ibm.designer.domino.main.doc/H_OPENFILEDIALOG_METHOD_5310_ABOUT.html
我假設你的chqRSIDoc是NotesDocument。如果你想要它作爲附件,你將不得不使用NotesRichTextItem.EmbedObject函數。

+0

嗨umeli,在我的代碼中添加了EmbedObject函數,它工作。但是文件附件顯示爲附件文件。有沒有一種方法可以將它顯示爲圖像/照片? – Daryl

+0

嗨,如果你可以在客戶端做到這一點,你可以使用notesuidocument.import方法。否則,你可以使用NotesMime條目和RichtextITems的組合.... – umeli

0

以下是一個Java

Stream stream = this.session.createStream(); 
      MIMEEntity body = doc.createMIMEEntity("dummy"); 
      MIMEHeader header = body.createHeader("Content-type"); 
      header.setHeaderVal("multipart/mixed"); 
      MIMEEntity child = body.createChildEntity(); 
      if (stream.open(filePath)) 
      { 
       child.setContentFromBytes(stream, "image/jpeg", 1730); 
       stream.close(); 
       doc.save(true, false); 
       if (doc.hasItem("Body")) 
       { 
        doc.removeItem("Body"); 
       } 
       RichTextItem rt1 = doc.createRichTextItem("Body"); 
       RichTextItem rt2 = (RichTextItem) doc.getFirstItem("dummy"); 
       rt1.appendRTItem(rt2); 
       rt2.remove(); 
       doc.save(true, false); 
       recycle(rt2, rt1, child, header, body); 
      } 
+0

謝謝你,這是一個很大的幫助。我幾乎將它轉換成lotusscript代碼,並能夠將圖像嵌入和顯示在筆記文檔中。但是,只有一個問題,那就是圖像尺寸可以控制在那裏嗎? – Daryl

+0

不可以。圖像在導入之前必須調整大小。不知道如何在Lotusscript中調整圖像大小。在Java中可以輕鬆完成。 – umeli