2013-03-19 71 views
0

我已經編寫了用於在java中上傳和顯示圖像的代碼。我正在使用liferay。 因爲據我所知liferay service.xml沒有Blob我使用了一種替代方法,通過修改portlet-model-hints.xml文件。最初用於存儲圖像的字段是在上述文件中改爲Clob的字符串。建立服務後,它變成了一個長文。我將圖像作爲長文本存儲,當我嘗試顯示文本時顯示。我應該如何顯示存儲在mysql數據庫中的圖片?上傳並顯示來自liferay中數據庫的圖像

回答

1

創建呈現的字段值作爲圖像的鉤

你應該看看Liferay的jackrabit配置,也許它可以(從你沒有將其存儲在第一位置的文字是什麼向後蛻變)幫助你存儲在首位

+0

Matthias G: 感謝您的回覆。 在liferay社區的許多論壇中,我讀到service.xml中沒有blob類型。請問我可以幫助我如何使用jackrabbit? 我正在閱讀foll的過程。鏈接: http://www.liferay.com/community/wiki//wiki/Main/Using+Jackrabbitwithwith+Database#section-Using+Jackrabbit+with+Database-Steps+to+hooking+up+Jackrabbit + to + MySQL 總之你可以總結一下做些什麼? – 2013-03-19 10:35:13

+0

我對jackrabbit沒有多少經驗,我所知道的是,你需要某種屬性在portal-ext中告訴jackrabbit將圖像存儲在db(dl.hook.impl = com。 liferay.documentlibrary.util.JCRHook)。此外,您需要執行鏈接中描述的步驟。也許這個鏈接[http://docs.oracle.com/cd/E19316-01/820-7054/gifgn/index.html](http://docs.oracle.com/cd/E19316-01/820-7054 /gifgn/index.html)可以幫助你,但我認爲它相當於你的。 – 2013-03-19 10:56:02

+0

Matthis G: 那麼這是否意味着我不必使用service.xml? – 2013-03-19 11:17:30

0

我看着service.xml到文檔庫內容(see online here)相關的DB中的圖像,並...

... 
<column name="repositoryId" type="long" /> 
<column name="path" type="String" /> 
<column name="version" type="String" /> 
<column name="data" type="Blob" /> 
... 

因此具有Blob類型。
我希望這可以幫助你。

+0

Dani: 感謝您的回覆。我在service.xml文件中嘗試了以下代碼。我不知道它有多遠: 我構建了服務,當我運行它時,它在數據庫中創建了一個字段,作爲uploadimage的longblob列。但它在產生的服務中給出了很多錯誤。 – 2013-03-20 04:41:48

+0

什麼樣的錯誤?請考慮更新您的問題。我假設你已經遵循了這樣的一些教程:http://www.liferay.com/documentation/liferay-portal/6。1/development/-/ai/service-build-5 – Dani 2013-03-20 08:12:31

+0

我創建了一個Blob字段,就像您在上一個回覆中建議的那樣: 當我構建服務I獲取BUILD SUCCESSFUL消息,但在blobuploadModelImpl類的com.test.blob.upload包中發生錯誤。 @Override public void resetOriginalValues(){ blobuploadModelImpl._pictureBlobModel = null; } 建議是 將pictureBlobModel修改爲靜態 當我將列的類型設置爲Blob時,會出現此錯誤。 – 2013-03-20 08:25:16

相關問題