2014-09-05 48 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' 
}