在grails应用程序中,我需要在web-app/js下上传一个文件,添加前缀,然后将其放入S3中。我无法弄清楚如何以适用于开发 (/web-app/js) 和生产 (/js) 的方式读取 js 文件。我是从域对象内部执行此操作的。
最佳答案
在您的 Controller 中,您可以调用:
def jsFolder = grailsAttributes.getApplicationContext().getResource("js/").getFile()
然后继续jsFolder
。
要确定正在运行的 Grails 应用程序的基目录,请使用
String dir = applicationContent.getResource("/").getFile()
从服务获取 js 路径有点棘手:
您需要实现 ApplicationContextAware
接口(interface),如下所示:
class MyService implements ApplicationContextAware {
ApplicationContext applicationContext
但是,从域类调用此代码并不是一个好主意(请参阅此 thread 以获取一些解释),我什至不确定除了从手动配置获取路径之外是否可能
希望有帮助。
关于grails - 从网络应用程序读取文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2573812/