4

Grails 2.0.4 を使用しており、画像や動画などの静的リソースを提供したいと考えています。

images/grails_logo.png に grails ロゴの png バージョンがあります (いつものように)。「http://localhost:8080/TmmWeb/static/images/grails_logo.png」という URL を入力すると、このロゴが表示されます。

しかし、「http://localhost:8080/TmmWeb/static/images/grails_logo.jpg」を入力すると (古いロゴの jpeg バージョンも存在します)、アプリケーションは「要求されたリソース ( ) 利用できません。"。

サブディレクトリ 'videos' を作成し、アドホック パターンの構成行を に変更するとgrails.resources.adhoc.patterns = ['/images/*', '/css/*', '/js/*', '/plugins/*','/videos/*']、URL 'http://localhost:8080/TmmWeb/static/images/grails_logo.png' もその苦情で失敗します。

アドホック パターンを null に設定するとgrails.resources.adhoc.patterns = []、'http://localhost:8080/TmmWeb/videos/grails_logo.png' のような URL が機能し、コンテンツが配信されます。

アドホック フィルターを使用すると、ビデオ ディレクトリからではなく、画像ディレクトリから .png ファイルのみを提供でき、.jpg ファイルを提供できないのはなぜですか?

これらの URL は失敗するため、これらの URL を使用すると、ページに画像やビデオを埋め込むことも失敗します。

また、最終的には、各動画をリソース宣言に入力することなく、動画のディレクトリ全体にアクセスできるようにしたいことにも注意してください。

4

1 に答える 1

1

ここでの答えはかなり複雑であることが判明しました。リソースプラグインの新しい1.2バージョンには、ユーザーガイドに完全な説明が含まれています。

簡単に言うと、アドホックフィルターで許可されたアイテムは、/ staticURIWebスペースの下の対応するアイテムへのリダイレクト応答を受け取ります。

web-appベースディレクトリの下のファイルは、アドホックパターンフィルターにリストされていない場合でも、/ staticURIWebspaceの下の対応する場所で提供されます。

この動作は、1.1.xおよび1.2バージョンのResourcesプラグインに当てはまります。使用されているGrailsのバージョンとは関係ありません。

于 2013-03-04T22:39:41.143 に答える