Думаю, вы пытаетесь отобразить файл, которого нет в webroot вашего проекта.Вы НЕ МОЖЕТЕ сделать это, просто передав URL для вашего просмотра.Один из способов сделать это - прочитать файл изображения в виде потока, а затем записать поток байтов для просмотра.Например:
<img src="${request.contextPath}/controllerName/getImage?filepath=${path_to_file_in_filesystem}" alt="whatever. alternatively, filename"/>
тогда действие в контроллере будет выглядеть так:
def getImage(){
def path = params.filepath
//returns an image to display
BufferedImage originalImage = ImageIO.read(new File(path));
ByteArrayOutputStream baos = new ByteArrayOutputStream();
def fileext = path.substring(path.indexOf(".")+1, path.length())
ImageIO.write( originalImage, fileext, baos );
baos.flush();
byte[] img = baos.toByteArray();
baos.close();
response.setHeader('Content-length', img.length.toString())
response.contentType = "image/"+fileext // or the appropriate image content type
response.outputStream << img
response.outputStream.flush()
}
Это должно сделать это.Надеюсь, это кому-нибудь поможет.