2012-12-20 39 views
2

您可以看到下面的代碼,它可以將圖像數據從lotus數據庫轉換爲base64字符串。問題是我手動把圖像的文件名(第4行)。我的數據庫中有很多圖像,只有我的「btnbg.jpg」可以讀取它,其他則不是。我的代碼如何讀取數據庫列中的所有圖像文件名稱。另外我怎樣才能將結果base64字符串包含到我的html圖片標籤中。非常感謝你,上帝保佑讀取一列中的所有圖像,將base64字符串結果包含到圖像html標記中。 XPage

var testView:NotesView = database.getView("uploadforms"); 
    var col:NotesDocumentCollection = testView.getAllDocumentsByKey("1"); 
    var testDoc:NotesDocument = col.getFirstDocument(); 
    var attachment:NotesEmbeddedObject = testDoc.getAttachment("btnbg.jpg"); 
    var input:java.io.InputStream = attachment.getInputStream(); 

    var base64Enc = new sun.misc.BASE64Encoder(); 
    var output = new java.io.ByteArrayOutputStream(); 
    base64Enc.encode(input, output); 

    return output.toString(); 
+1

你嘗試與@AttachmentNames公式欄添加和getColumnValues(獲取附件名稱)方法? –

回答

1

「如何將我的代碼可以讀取所有的數據庫列內的圖像文件名」

您需要的列打印附件名稱。例如在「@AttachmentNames」函數的幫助下。 您需要使用「ViewNavigator」類精確地遍歷列

如果您更喜歡使用文檔,那麼使用一些方法去獲取文檔中的所有附件,如文檔和RT項目上的「EmbeddedObjects」方法。

「我怎麼能有結果的base64字符串到我的HTML圖像標記」

你可以用CSS的幫助下做:背景:網址(數據:圖像/ JPEG; BASE64,。 ..

這是一個糟糕的主意,用大量的圖片在CSS的base64。

+0

其實img標籤需要數據也是url參數:img src =「data:image/gif; base64,... – stwissel

+0

有用的知識,不關注它 –

相關問題