我创建了一个本地驱动器中的word文档,应该使用grails gsp页面在浏览器中打开它。
有关创建是创建链接还是使用脚本的选项有哪些。 在此先感谢您的帮助。
答案 0 :(得分:1)
要打开或已下载有很多选项
是使用File Viewer Grails插件Grails File Plugin
只需在.gsp
文件中提供如下链接,当您使用以下代码按下该文档的链接时,可以选择download
或view option/open
。< / p>
显示从数据库或其他来源获取的链接
<table>
<thread>
<tr>
<g:sortableColumn property="filename" title="Filename" />
<g:sortableColumn property="upload" title="Upload Date" />
</tr>
</thread>
<tbody>
<g:each in="${documentInstanceList}" status="i"
var="documentInstance">
<tr class="${(i%2)==0?'even':'odd'}">
<td><g:link action="download" id="${documentInstance.id}">
${documentInstance.filename}
</g:link></td>
<td><g:formatDate date="${documentInstance.uploadDate}" /></td>
</g:each>
</tbody>
</table>
def download(long id) {
Document documentInstance = Document.get(id)
if (documentInstance == null) {
flash.message = "Document not found."
redirect(action:'list')
}
else {
response.setContentType("APPLICATION/OCTET-STREAM")
response.setHeader("Content-Disposition","Attachment;Filename=\"${documentInstance.filename}\"")
def file = new File(documentInstance.fullpath)
def fileInputStream = new FileInputStream(file)
def outputStream = response.getOutputStream()
byte[] buffer = new byte[4096];
int len ;
while((len = fileInputStream.read(buffer))>0) {
outputStream.write(buffer,0,len);
}
outputStream.flush()
outputStream.close()
fileInputStream.close()
}
}
现在就让我吧...... 。
答案 1 :(得分:0)
我不知道任何允许您在浏览器/ grails应用程序中直接呈现word文档的插件。过去,旧版本的Word&amp; IE 7/8,但现在不再是这样了。
word文档基本上是一个带有各种标记的XML文档,告诉文本如何呈现等等,你可以考虑加载这种格式。有人之前可能已经这样做了,所以如果你想调查这个选项,我建议google-ing“word document parsing”或类似的东西。另一方面,如果您只对文档文本感兴趣,也许可以将word文档保存为txt?
希望有所帮助。