2013-04-02 3 views
0

У меня есть шаблон, который имеет несколько изображений из файловой системы, а другой - из папки изображений проекта.Изображение не отображается в .doc файле

Изображения в шаблоне, которые поступают из папки изображений моего приложения grails, отлично отображаются в файле doc. Я использую ниже код, чтобы сделать эти изображения:

<img src="${g.resource(dir: 'images', file: 'phone-1.gif', absolute: true)}"/> 

Но у меня есть изображение, которое поступает из файловой системы (/ неавтоматического папки/profileImages). Используя ниже код, чтобы сделать это изображение в шаблоне:

Вид:

<g:img uri="${g.createLink(controller: 'personalDetail', action: 'showUserProfileImage', absolute: true)}"/> 

Контроллер:

def showUserProfileImage() { 
    User user = springSecurityService.currentUser as User 
    String profilePicturePath = "${grailsApplication.config.profilePictureDirectoryPath}/${user?.profilePicture?.fileName}" 
    File file = new File(profilePicturePath) 
    def img = file.bytes 
    response.contentType = user?.profilePicture?.mimeType 
    response.outputStream << img 
    response.outputStream.flush() 
} 

Это работает нормально, показывая изображение профиля в браузере, а также в pdf, который я загрузил с помощью графического плагина grails.

Но проблема в файле формата .doc. Когда я загружаю шаблон в формате doc, тогда изображение не отображается.

Скриншот:

enter image description here

Может кто-то пожалуйста, скажите мне, где я не прав?

Или есть ли другой способ сделать это?

ответ

0

Kanwal Nain Singh решение работает только если сервер работает в местном, но если загрузить шаблон в формате док из удаленного затем снова изображение отсутствует. Проблема заключается в поиске документа на локальном компьютере (папка/opt/profileImages).

После кода работает отлично:

Действие:

def showUserProfileImage() { 
    String profilePicturePath = "${grailsApplication.config.profilePictureDirectoryPath}/${params.id}" 
    File file = new File(profilePicturePath) 
    response.contentType = URLConnection.guessContentTypeFromName(file.getName()) 
    response.outputStream << file.bytes 
    response.outputStream.flush() 
} 

Тэг:

<g:img uri="${grailsApplication.config.grails.serverURL}/user/showUserProfileImage/${userImageName}"/> 
1

Здесь вы пытаетесь получить доступ к изображению src из контекста вашего приложения. Итак, ваш источник должен выглядеть так.

<g:img uri="${profilePocturePath}" width="93px" height="100px"/> 

см это

<mvc:resources mapping="/images/**" location="file:/absolute/path/to/image/dir"/> 

 Смежные вопросы

  • Нет связанных вопросов^_^