在grails应用程序中,我需要在web-app / js下上传一个文件,添加一个前缀,并将其放在S3中。我无法弄清楚如何以开发(/ web-app / js)和生产(/ js)的方式读取js文件。我是从域对象中做到这一点的。
答案 0 :(得分:8)
在您的控制器中,您可以致电:
def jsFolder = grailsAttributes.getApplicationContext().getResource("js/").getFile()
然后继续jsFolder
。
要确定正在运行的Grails应用程序的基本目录,请使用
String dir = applicationContent.getResource("/").getFile()
从服务获取js路径有点棘手:
您需要像这样实现ApplicationContextAware
界面:
class MyService implements ApplicationContextAware {
ApplicationContext applicationContext
但是,从域类调用此代码不是一个好主意(请参阅此thread以获取一些解释)并且我甚至不确定是否可以从手动配置中获取路径
希望它有所帮助。