我正在写 Controller 中的操作,以从webapp目录下载pdf。当我使用run-app命令运行该应用程序时,它运行良好。但是,当我发动 war 时,它会引发在浏览器中找不到文件的错误。我的代码如下。
def pdfDownlod ={
def pdfFileName=params.pdfFileName
def pdfFile = new File('web-app/sales/resources/pdf/'+pdfFileName)
response.setContentType("application/pdf")
response.setHeader("Content-disposition", "attachment; filename=${pdfFileName}")
response.outputStream << pdfFile?.getBytes()
response.outputStream.flush()
return
}
请让我知道问题的根本原因和解决方案。
提前致谢。
最佳答案
您可以尝试使用此语法,它将对您很好。
def pdfFile = new File(ServletContextHolder.servletContext.getRealPath('sales/resources/pdf/'+pdfFileName))
请享用。
关于file - 部署 war 时Grails无法找到pdf资源,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/18892841/