从共享文件夹中读取PDF

时间:2019-02-21 13:14:42

标签: file pdf grails groovy

我有这个Grails项目,我需要在其中从端点获得的路径读取文件。

显然chrome阻止了“不允许加载本地资源”,因此我不能仅使用href来在浏览器中读取pdf文件。我需要在pdf文件中显示一个新的浏览器窗口,但没有任何帮助。

    def link = "path"
    def file = new File(link)


    response.setContentType("application/pdf")
    response.setHeader("Content-disposition", "attachment;filename=gdoc.pdf")
    response.outputStream << file.newInputStream()

这是我所拥有的,但似乎无法读取我的文件,尽管可以从浏览器访问它,但总会得到“没有这样的文件或目录”。

2 个答案:

答案 0 :(得分:0)

据我了解,您正在尝试在用户和pdf之间实现“代理”,以创建新的Grails控制器。

由于错误消息是“没有这样的文件或目录”,我怀疑当您尝试执行File = new File("path")时服务器中出现了此错误...所以您确定服务器中有一个名为“ path”的子文件夹“ grails应用程序在哪里运行?

答案 1 :(得分:0)

依赖性注入ResourceLoader bean,并使用它来访问PDF,例如

import org.springframework.context.ResourceLoaderAware
import org.springframework.core.io.Resource
import org.springframework.core.io.ResourceLoader

class MyService implements ResourceLoaderAware {

    ResourceLoader resourceLoader

    InputStream getPdfContent() {
        Resource pdf = resourceLoader.getResource("classpath:path/toPdf.p12")
        pdf.inputStream
    }
}