Grails 3 - 获取服务中的资产路径
Grails 3 - get asset path in service
我需要在 Grails 3 服务中获取位于 assets/schemas/resource.json
中的静态资源的路径。
目前定义为
private final String SCHEMA = 'grails-app/assets/schemas/resource.json',
这适用于 development
环境,但当然不适用于生产环境(因为它位于 <app_root>/assets/resource.json
.
我试图搜索如何在我的案例中利用资产管道,但到现在为止我真的不知道:P
提前致谢!
它包含在文档中。
http://bertramdev.github.io/grails-asset-pipeline/guide/usage.html
在控制器或服务中,注入 assetResourceLocator
并使用 assetResourceLocator.findAssetForURI()
它在本地工作,但在部署到服务器时不工作。使用 Grails 3.1.0、Java 1.8.0_91 和 Tomcat 8.0.33.
assetResourceLocator?.findAssetForURI('myFolder/placeholder.jpg')?.byteArray
returns
groovy.lang.MissingPropertyException: No such property: byteArray for class: org.springframework.web.context.support.ServletContextResource
编辑:已解决:
assetResourceLocator?.findAssetForURI('myFolder/placeholder.jpg')?.getInputStream()?.bytes
完整示例:
class ExampleService {
def assetResourceLocator
def someMethod() {
Resource res = assetResourceLocator.findAssetForURI('test.css')
String url = res.getURL()
String uri = res.getURI()
}
}
来源:http://bertramdev.github.io/grails-asset-pipeline/guide/usage.html
我需要在 Grails 3 服务中获取位于 assets/schemas/resource.json
中的静态资源的路径。
目前定义为
private final String SCHEMA = 'grails-app/assets/schemas/resource.json',
这适用于 development
环境,但当然不适用于生产环境(因为它位于 <app_root>/assets/resource.json
.
我试图搜索如何在我的案例中利用资产管道,但到现在为止我真的不知道:P
提前致谢!
它包含在文档中。 http://bertramdev.github.io/grails-asset-pipeline/guide/usage.html
在控制器或服务中,注入 assetResourceLocator
并使用 assetResourceLocator.findAssetForURI()
它在本地工作,但在部署到服务器时不工作。使用 Grails 3.1.0、Java 1.8.0_91 和 Tomcat 8.0.33.
assetResourceLocator?.findAssetForURI('myFolder/placeholder.jpg')?.byteArray
returns
groovy.lang.MissingPropertyException: No such property: byteArray for class: org.springframework.web.context.support.ServletContextResource
编辑:已解决:
assetResourceLocator?.findAssetForURI('myFolder/placeholder.jpg')?.getInputStream()?.bytes
完整示例:
class ExampleService {
def assetResourceLocator
def someMethod() {
Resource res = assetResourceLocator.findAssetForURI('test.css')
String url = res.getURL()
String uri = res.getURI()
}
}
来源:http://bertramdev.github.io/grails-asset-pipeline/guide/usage.html