2015-05-23 3 views
0

Я работаю с Grails 2.4.2. Я сохраняю изображения в каталоге с именем gameImage в папке веб-приложения. Он отлично работает в режиме разработки. Но когда я запускаю войну на localhost на сервере xampp, тогда в представлении изображение не отображается, а сохраняется в каталоге. Вот мои попытки ниже ::Каталог изображений веб-приложений Grails не работает должным образом на войне

В моем конфигурационном файле >>>

gameImage.location = "web-app/apps/gameImage/" 

В мой контроллер, где сохранение изображения >>>

String fileName = grailsApplication.config.gameImage.location.toString() + distGameInstance.packageName + '_' + newGameImage.getOriginalFilename() 
new File(grailsApplication.config.gameImage.location.toString()).mkdirs() 
newGameImage.transferTo(new File(fileName)) 

На мой взгляд, где я хочу, чтобы показать image >>>

<g:each in="${distributedGameListInstance}" status="i" var="androidDistGameInstance"> 
    <div class="col-lg-3 col-md-4 col-xs-6 thumb" > 
     <a class="thumbnail" href="#"> 
      <g:img uri="${resource(dir: "apps/gameImage", file: "${androidDistGameInstance.imageName}")}" style="height: 120px;width: 120px;" /> 
     </a> 
    </div> 
</g:each> 
+0

и вы добавили папку приложения в правила, а grails.resources.adhoc.patterns = [ '/ изображения/*', '/ CSS/*', «/ js/* ','/plugins/* '] – Vahid

+0

@vahid благодарит за ваш ответ, но не понимаю. Не могли бы вы объяснить немного больше, пожалуйста, –

+0

добавьте эту строку в файл конфигурации, но нет результата –

ответ

0

Нет необходимости настраивать конфигурацию папки в config.groovy. просто следуйте приведенному ниже коду. по крайней мере, работал для меня :::

def gameImage = request.getFile('appImage') 
String imagePath = "${request.getRealPath('/')}/apps/gameImage/" 
new File(imagePath).mkdirs() 
gameImage.transferTo(new File(imagePath + File.separatorChar + gameImageName))