【问题标题】:display blob text in grails在 grails 中显示 blob 文本
【发布时间】:2014-09-05 15:38:43
【问题描述】:

我正在尝试将存储在 MySQL 中的 blob 显示为 gsp 页面中的 html 内容。任何人都可以帮我解决这个问题,我是 Grails 的新手。

我想做什么:

  1. 第 3 方应用程序将在 MySQL 中上传一个文件作为 BLOB,这是一份 HTML 格式的报告。
  2. 在我的 GRAILS 应用程序中,我想显示所有文件名。
  3. 一旦用户点击文件名,假设获取BLOB数据并在gsp页面中以HTML格式显示文本。

到目前为止我已经取得的成就:

  1. index.gsp 页面显示文件名、创建日期
  2. 一旦用户点击文件名,show.gsp 就会显示文件名

我需要达到的目标:

  1. show.gsp 应该将文件内容显示为 HTML 内容。

限制:

  1. 我不打算将文件下载到服务器驱动器中,然后在 gsp 页面中将文件显示为 HTML。

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

【问题讨论】:

    标签: html mysql grails


    【解决方案1】:

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

    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 }
    }
    

    【讨论】:

      【解决方案2】:

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

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

      static mapping = {
          filedata sqlType: 'text'
      }
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2012-04-03
        • 1970-01-01
        • 2023-03-23
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多