Domain class:
class Data {
byte[] pdfFile
static mapping = {
pdfFile sqlType:'longblob' //use mysql
}
static constraints = {
pdfFile nullable:true
}
}
gsp view to submit the url to controller:
<g:form action="savePdf" >
<g:textField name="externalUrl" >
<g:submitButton name="submit" value="Submit" />
</g:form>
DataController:
def savePdf() { //save pdf file into database
def url = params.externalUrl
def localFile = new FileOutputStream('test.pdf')
localFile << new URL(url).openStream()
localFile.close()
def pdfFile = new FileInputStream('test.pdf')
byte[] buf = new byte [102400]
byte[] pdfData = new byte[9024000] //pdf file size limited to 1M
int len = pdfFile.read(buf, 0, 102400)
ByteArrayOutputStream bytestream = new ByteArrayOutputStream()
while(len > 0) {
bytestream.write(buf, 0, len)
len =pdfFile.read(buf, 0, 102400)
}
data.pdfFile = bytestream.toByteArray()
data.save()
}
def renderPdf() { //for pdf file download
def dataInstance = Data.get(params.id)
response.setContentType('application/pdf')
byte[] pdf = dataInstance?.pdfFile
response.outputStream << pdf
}
To trigger renderPdf() method, put a link in another gsp view:
<a href="${createLink(uri:'/data/renderPdf/'+dataInstance.id)}">pdf file</a>
分享到:
相关推荐
Grails通过URL映射功能,实现了RESTful风格的URL,使得Web应用的URL更加友好和语义化。这种映射机制不仅提高了用户体验,还简化了路由管理和资源定位。 #### Internationalization(国际化) Grails框架内置了国际...
《Grails Web URL Mappings 2.5.4:开源项目的URL路由艺术》 在Web开发领域,路由是连接用户请求与服务器响应的核心机制。在Grails框架中,URL映射(URL Mappings)扮演了至关重要的角色,它定义了应用程序如何响应...
### Grails快速开发Web应用:知识点详解 #### Grails框架概览 Grails是一个基于Groovy语言构建的开源MVC(Model-View-Controller)Web开发框架,以其高效的开发速度和简洁的代码著称。其核心优势在于: 1. **快速...
### Grails 快速开发 Web 应用程序 #### 一、Grails 概述 Grails 是一种基于 Groovy 的开源应用框架,用于简化 Web 应用程序的开发过程。它采用约定优于配置的原则,这使得开发者可以更快地创建功能丰富的 Web ...
本书《Beginning Groovy and Grails, From Novice to Professional》由Christopher M. Judd、Joseph Faisal Nusairat 和 James Shingler共同编写,并得到了Grails项目负责人Graeme Rocher的前言推荐。本书主要面向...
《The Definitive Guide to Grails 2》是Grails框架深入学习的重要参考资料,由业界专家撰写,旨在为开发者提供全面、详尽的Grails 2技术指导。这本书结合了理论与实践,不仅介绍了Grails的基本概念,还涵盖了高级...
Grails企业web应用开发与部署 grails webmail grails 服务器环境 ...
《 Beginning Groovy and Grails: From Novice to Professional 2008》是Apress出版社在2008年发布的一本专为初学者至专业人士准备的编程书籍,主要介绍了Groovy和Grails两种强大的开源技术。这本书的核心目标是帮助...
Grails企业web应用开发与部署.pdf 很好的资源
《Apress.Beginning.Groovy.and.Grails.From.Novice.to.Professional.Jun.2008》这本书深入浅出地介绍了Groovy语言和Grails框架,旨在帮助初学者快速掌握这两项技术并转化为专业人士。Groovy和Grails是Java生态中的...
自己买的书,然后用扫描机扫描的,整个文件太大了,不能一次性上传上来,所以拆成3个part。 我自己学grails很想看这本书,结果网上没有,就自己去买了,然后共享给需要的人。 如果有什么问题请联系我下架。
《使用 Grails 快速开发 Web 应用程序》 Grails,一个基于Groovy动态语言的开源MVC框架,为Web开发提供了高效且简洁的解决方案。自2007年发布以来,Grails以其快速开发能力,降低了Web应用的复杂性,吸引了众多...
自己买的书,然后用扫描机扫描的,整个文件太大了,不能一次性上传上来,所以拆成3个part。...我自己学grails很想看这本书,结果网上没有,就自己去买了,然后共享给需要的人。 如果有什么问题请联系我下架。
《Grails技术精解与Web开发实践11-20章》是一本专注于Grails框架的深度解析书籍,尤其适合初学者和希望提升Grails开发技能的IT从业者。Grails是一种基于Groovy语言的开源Web应用框架,它以其高效、灵活和强大的特性...
《Grails技术精解与Web开发实践2-10章》是针对Grails框架的一份珍贵资源,适合初学者及有经验的开发者深入理解并掌握Grails技术。这本书的章节涵盖了从基础到进阶的多个方面,旨在帮助读者全面了解和运用Grails进行...
file.transferTo(new File('/path/to/save/' + file.originalFilename)) render "文件上传成功" } else { render "没有选择任何文件" } } } ``` 记得替换`'/path/to/save/'`为实际的文件保存路径。 此外,别...
Groovy和Grails是两个密切相关的Java平台上的开发工具,它们在构建现代Web应用程序中扮演着重要角色。Groovy是一种敏捷、动态的语言,它旨在减少Java的样板代码,同时提供了可选的动态类型、闭包、领域特定语言...