从 GSP 页面中的变量路径名在新 window 中打开 pdf 文件
Open pdf file in new window from variable path name in GSP page
我有一个名为 file
的地图,我从我的控制器接收到该地图,其中包含存储在 assets/myfiles/file.pdf 中的文件的路径和描述,格式如下:
{"filepath": "file.pdf",
"description": "something"}
如何在我正在呈现的 GSP 页面中为该 pdf 创建 link?
<a href="${resource(dir: 'myfiles', file:' ${file[filename])' }" target="_blank">${file[description]}</a>
我尝试了上面的方法,但它没有打开 pdf,而是打开了应用程序的另一个克隆标签
创建控制器方法并编写连接以下载您的文件。
普惠制:
在您的 GSP 中编写按钮并创建一个 link 到此控制器操作,如下所示。
<g:link class="btn btn-info btn-sm"
action="downloadMyFile" resource="${instance}"
target="_blank">DOWNLOAD FILE</g:link>
控制器:
// This is Used To Open PDF File.
def downloadMyFile(){
def file = new File("download/path/to/your/file")
response.setContentType("application/pdf")
response.setHeader("Content-disposition", "filename=${file.getName()}")
response.outputStream << file.newInputStream()
}
[或]
// This is Simply Download Your File.
def downloadFile(){
def file = new File("Path/to/your/File")
response.setContentType("application/octet-stream")
response.setHeader("Content-disposition", "filename=${file.getName()}")
response.outputStream << file.newInputStream()
}
注:
资源:您可以将实例传递给您的下载操作。
target="_blank" : Open/Download 新标签页中的文件。
action :在 Controller 中定义的动作名称。
我有一个名为 file
的地图,我从我的控制器接收到该地图,其中包含存储在 assets/myfiles/file.pdf 中的文件的路径和描述,格式如下:
{"filepath": "file.pdf",
"description": "something"}
如何在我正在呈现的 GSP 页面中为该 pdf 创建 link?
<a href="${resource(dir: 'myfiles', file:' ${file[filename])' }" target="_blank">${file[description]}</a>
我尝试了上面的方法,但它没有打开 pdf,而是打开了应用程序的另一个克隆标签
创建控制器方法并编写连接以下载您的文件。
普惠制:
在您的 GSP 中编写按钮并创建一个 link 到此控制器操作,如下所示。
<g:link class="btn btn-info btn-sm"
action="downloadMyFile" resource="${instance}"
target="_blank">DOWNLOAD FILE</g:link>
控制器:
// This is Used To Open PDF File.
def downloadMyFile(){
def file = new File("download/path/to/your/file")
response.setContentType("application/pdf")
response.setHeader("Content-disposition", "filename=${file.getName()}")
response.outputStream << file.newInputStream()
}
[或]
// This is Simply Download Your File.
def downloadFile(){
def file = new File("Path/to/your/File")
response.setContentType("application/octet-stream")
response.setHeader("Content-disposition", "filename=${file.getName()}")
response.outputStream << file.newInputStream()
}
注:
资源:您可以将实例传递给您的下载操作。
target="_blank" : Open/Download 新标签页中的文件。
action :在 Controller 中定义的动作名称。