grails - 从网络应用程序读取文件

标签 grails

在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/

相关文章:

grails - Grails从过滤器重定向

grails - 如何让Grails忽略.DS_Store

jquery - 如何在jQuery中遍历Grails映射

hibernate - 为什么在 Grails 中唯一受限的字段在更新时失败

grails - Grails命令对象可为空的约束

apache - Tomcat/Apache/Grails 配置

grails - 通过URL传递id grails groovy

grails - Grails 服务类检测应用程序关闭的最佳方法?

grails - 如何在智能12中定义 cucumber 的步骤定义位置

maven - 在插件中安装本地jar