Читать PDF из общей папки - PullRequest
       13

Читать PDF из общей папки

0 голосов
/ 21 февраля 2019

У меня есть проект 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 голосов
/ 21 февраля 2019

Зависимость - введите компонент ResourceLoader и используйте его для доступа к 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
    }
}
0 голосов
/ 21 февраля 2019

Насколько я понимаю, вы пытаетесь реализовать "прокси" между пользователем и файлом PDF, создавая новый контроллер Grails.

Поскольку сообщение об ошибке "Нет такого файла или каталога", я подозреваю, что этоошибка произошла на сервере при попытке сделать File = new File("path") ... так вы уверены, что на сервере есть подпапка с именем path, в которой запущено приложение grails?

...