我正在写 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/

10-12 02:12