gpt4 book ai didi

static - Grails 2 不提供静态资源

转载 作者:行者123 更新时间:2023-12-01 05:29:05 25 4
gpt4 key购买 nike

我正在使用 Grails 2.0.4 并希望提供一些静态资源,例如图像或视频。

我在 images/grails_logo.png (和往常一样)中有 grails Logo 的 png 版本。如果我输入 url 'http://localhost:8080/TmmWeb/static/images/grails_logo.png',它会显示这个标志。

但是,如果我输入“http://localhost:8080/TmmWeb/static/images/grails_logo.jpg”(也存在旧 Logo 的 jpeg 版本),应用程序会显示 404 报告“请求的资源( ) 不可用。”。

如果我创建一个子目录“videos”,并将临时模式的配置行更改为 grails.resources.adhoc.patterns = ['/images/*', '/css/*', '/js/*', '/plugins/*','/videos/*'] ,那么 url 'http://localhost:8080/TmmWeb/static/images/grails_logo.png' 也因该投诉而失败。

如果我使用 grails.resources.adhoc.patterns = [] 将 adhoc 模式设置为 null然后像 'http://localhost:8080/TmmWeb/videos/grails_logo.png' 这样的 URL 工作并提供内容。

那么,为什么使用临时过滤器只能从图像目录提供 .png 文件,而不是从视频目录提供 .jpg 文件?

由于这些 url 失败,因此在使用这些 url 时,在页面中嵌入图像或视频也会失败。

我还应该注意,最终我希望能够访问整个视频目录,而无需将每个视频都输入到资源声明中。

最佳答案

这里的答案变得相当复杂。 Resources 插件的新 1.2 版本在其用户指南中包含完整的说明。

简而言之,ad-hoc 过滤器允许的项目将收到重定向响应到/static URI 网络空间下的相应项目。

web-app 基本目录下的任何文件都将在/static URI 网络空间下的相应位置提供,即使它们未在 ad-hoc 模式过滤器中列出。

此行为适用于 1.1.x 和 1.2 版本的 Resources 插件。它与正在使用的 Grails 版本无关。

关于static - Grails 2 不提供静态资源,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12343073/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com