Летающая тарелка не разрешает изображения или CSS на Ubuntu Tomcat6 - PullRequest
1 голос
/ 05 августа 2011

У меня проблема с плагином Grails Pdf, который использует Flying Saucer. Все работает, как и ожидалось, пока я не развернусь на сервере Ubuntu под управлением Tomcat6. Тогда ссылки в моем gsp на css и изображения терпят неудачу, хотя я все еще получаю PDF для рендеринга.

Я пробовал два разных подхода к созданию PDF

ITextRenderer renderer = new ITextRenderer()

renderer.setDocument(url)
renderer.setDocumentFromString(content, baseUri)

Запуск войны с 'grails prod run-war' работает, работает, и фиктивное приложение без защиты работает локально, но завершается неудачно, когда я также развертываю его на сервере. (хотя ни одно из содержимого, которое я пытаюсь воспроизвести, в любом случае не защищено), URL изображений верны. (Я пробовал как абсолютные, так и относительные URL), ни один из них не отображается в PDF, но если вы запрашиваете эти ресурсы из браузера, они там есть. Ссылки на изображения, не размещенные на сервере, работают.

Все это наводит меня на мысль, что tomcat6, который устанавливается с ubuntu, когда вы делаете sudo apt-get install tomcat6, настроен как-то забавно. Я знаю, что он запускается с пользователем «tocat6» вместо «root», как это делают многие установки. Может ли это быть причиной того, что у «Летающей тарелки» почему-то нет прав доступа к файлам, на которые есть ссылки?

1 Ответ

1 голос
/ 22 мая 2012

Так как все, кроме images / css, работает, я думаю, ваш baseURI не верный ?!У меня есть этот код в производственной системе, и он работает.Все изображения имеют абсолютную ссылку:

renderer.setDocument(doc, request.getScheme() + "://" + request.getServerName() + ":" + request.getServerPort());

Какое значение установлено для baseURI?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...