Как сохранить изображения в папке активов во время выполнения в приложении Grails 3? - PullRequest
0 голосов
/ 23 мая 2018

В моем приложении Grails мне нужно загрузить и изображение и отрендерить то же изображение в моем представлении.Я мог загрузить файлы изображений только внутри каталога src / main / webapp, используя следующий код:

def webrootDir = servletContext.getRealPath("/") //app directory
    String imageDestination = webrootDir + params.id;
    if(image){
        File uploadedImage = new File(webrootDir,"${params.id}");
        println "uploadedImage = ${uploadedImage.getAbsoluteFile()}"
        if(uploadedImage?.exists()){
            uploadedImage.delete()
        }
        image.transferTo(uploadedImage);}

Но я не смог отобразить изображение из этого места в теге <img>.Есть ли способ поместить файлы в каталог assets во время загрузки, или есть какой-нибудь способ рендеринга из каталога src / main / webapp?Пожалуйста, помогите.

1 Ответ

0 голосов
/ 25 мая 2018

Я бы загружал и обслуживал эти изображения откуда-то за пределами вашего приложения.Например, загрузите изображения на S3 (или аналогичные) и сделайте их общедоступными, чтобы вы могли ссылаться на них в своем приложении.Либо отслеживайте URL-адреса изображений в базе данных, либо используйте соглашение, которое позволит вам создавать URL-адреса изображений в вашем приложении.

Вы также можете использовать каталог на своем сервере для хранения изображений, а затем сделать ихпублично доступным как-то.Вы можете обслуживать их через Tomcat, используя другой контекст , или использовать Apache для перенаправления запросов либо в ваше приложение, либо для непосредственного обслуживания изображений.

Надеюсь, что это имеет смысл.

...