2014-09-05 36 views
0

我試圖在gsp頁面中顯示存儲在MySQL中的blob作爲html內容。任何人都可以幫助我,我是新來的Grails。在grails中顯示blob文本

我所試圖做的事:

  1. 第三方應用程序將在MySQL上載文件作爲BLOB這是HTML格式的報告。
  2. 在我的GRAILS應用程序中,我想顯示所有文件名。
  3. 用戶單擊文件名後,假設獲取BLOB數據並在gsp頁面中以HTML格式顯示文本。

我所取得的成就至今:

  1. index.gsp中頁面顯示的文件名,創建日期
  2. 一旦用戶點擊該文件名,show.gsp顯示文件名

我需要做什麼:

  1. show.gsp應顯示內容文件作爲HTML內容。

的限制:

  1. 我不是想下載服務器驅動器的文件,然後在顯示頁面GSP文件的HTML。

我在使用Grails:2.3.7在Windows 7上使用MySQL 6.1.6。

回答

0

你的控制器動作來獲取文件從DB的可以關注一下:

def getFile(Long id){ 
    def obj = YourDomain.get(id) 
    response.setHeader 'Content-Type', 'text/html' 
    response.setHeader 'Content-Disposition', "inline;filename=${obj.filename}" 
    response.outputStream.withOutputStream{ it << obj.file } 
} 
0

如果該文件是一個html文件,您可以將其存儲爲TEXT數據類型。這是BLOB的文本版本,因此您有TINYTEXT,TEXT,MEDIUMTEXT和LONGTEXT類型。

您可以在域類中聲明的數據類型,如:

static mapping = { 
    filedata sqlType: 'text' 
}