Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/56.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Html 在grails中显示blob文本_Html_Mysql_Grails - Fatal编程技术网

Html 在grails中显示blob文本

Html 在grails中显示blob文本,html,mysql,grails,Html,Mysql,Grails,我试图在gsp页面中将存储在MySQL中的blob显示为html内容。有人能帮我吗?我是Grails的新手 我想做的是: 第三方应用程序将以BLOB的形式在MySQL中上传一个文件,这是一个HTML格式的报告 在我的GRAILS应用程序中,我假设显示所有文件名 一旦用户单击文件名,它将获取BLOB数据并在gsp页面中以HTML格式显示文本 我至今所取得的成就: index.gsp页面显示文件名、创建日期 用户单击文件名后,show.gsp将显示文件名 我需要达到的目标是: gsp应将文件内容显示

我试图在gsp页面中将存储在MySQL中的blob显示为html内容。有人能帮我吗?我是Grails的新手

我想做的是:

  • 第三方应用程序将以BLOB的形式在MySQL中上传一个文件,这是一个HTML格式的报告
  • 在我的GRAILS应用程序中,我假设显示所有文件名
  • 一旦用户单击文件名,它将获取BLOB数据并在gsp页面中以HTML格式显示文本
  • 我至今所取得的成就:

  • index.gsp页面显示文件名、创建日期
  • 用户单击文件名后,show.gsp将显示文件名
  • 我需要达到的目标是:

  • gsp应将文件内容显示为HTML内容
  • 限制:

  • 我不想在服务器驱动器中下载该文件,然后在gsp页面中将该文件显示为HTML

  • 我在Windows7上使用Grails:2.3.7和MySQL 6.1.6。

    如果文件是html文件,可以将其存储为文本数据类型。这是BLOB的文本版本,因此您有TINYTEXT、text、MEDIUMTEXT和LONGTEXT类型

    您可以在域类中声明数据类型,例如:

    static mapping = {
        filedata sqlType: 'text'
    }
    

    从数据库中取出文件的控制器操作如下所示:

    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 }
    }
    
    def getFile(长id){
    def obj=YourDomain.get(id)
    response.setHeader“内容类型”、“文本/html”
    response.setHeader'Content Disposition',“inline;filename=${obj.filename}”
    response.outputStream.withOutputStream{it