9

キュレートされたコンテンツに関連する Tridion のユース ケースがあり、アップロードされたリソース タイプではなく、外部リソース タイプを指すコンテンツに関連付けられた画像のマルチメディア コンポーネントを作成しています。

このユース ケースで遭遇した問題の 1 つは、リソースのマルチメディア タイプを明示的に設定しているにもかかわらず、画像の URL にクエリ文字列http://cdn.hw.net/UploadService/が含まれている場合です。 1c8b7f28-bb12-4e02-b888-388fdff5836e.jpg?w=160&h=120&mode=crop&404=defaultまたは「フレンドリ URL」を使用: http://www.somewhere.com/images/myimage/コンポーネントを保存すると、Tridion 「プロパティ「ファイル名」の値が無効です。予期しないファイル拡張子: jpg?w=160&h=120&mode=crop&404=default. 予想: jpg、jpeg、jpe.'

これまでのところ、この問題を回避できる可能性があると判断できた唯一の方法は、予想されるファイル拡張子http:/で終わる URL の最後に追加のクエリ文字列パラメーターを追加するなどのハックなことを行うことです。 /cdn.hw.net/UploadService/1c8b7f28-bb12-4e02-b888-388fdff5836e.jpg?w=160&h=120&mode=crop&404=default&ext=.jpg 明らかに、これは最善の解決策ではなく、実際には一部の画像では機能しない場合がありますそれらが提供されているサイトが、要求された URL を厳密に検証する場合。

この問題を回避する方法について何か考えがある人はいますか?

4

2 に答える 2

9

残念ながら、Tridion はファイル拡張子をチェックすることで Mime タイプを「検出」するため、これに対する簡単な解決策は思いつきません。

おそらく、保存中に追加し、読み取り時に(イベントシステムを介して)削除できますか?私の知る限り、この動作は、間もなく登場する Tridion 2013 では変更されていません。以下のコメントを参照してください。2013 では変更されています。

于 2013-02-19T19:35:11.563 に答える
8

ヌノの答えに+1。質問のタイトルがマルチメディア コンポーネントに固有のものであることを認識して、マルチメディア コンポーネントではなく、通常のコンポーネントを使用する別のアプローチを検討することをお勧めします。拡張子のない URL を格納するための External Url フィールドを持つ「External Image」などと呼ばれる通常のコンポーネント スキーマを作成できます。

コンテンツ作成者は、Tridion GUI の通常のコンポーネント リンク メカニズムを介してこれらの画像を含めます。

次に、出力アイテムを (Regex 経由で) 解析して Tridion アンカー タグを探し、それぞれをこのリンクされたコンポーネントから src パスが来るタグに<a tridion:href="tcm:x-y-z">置き換えるカスタム リンク リゾルバー TBB が必要になります。<img src=...>

同様のアプローチの例については、ビデオとカスタム リンク リゾルバー TBB のサンプル コードを使用して、次の投稿のコードを参照してください。メディアプレーヤー

于 2013-02-19T19:58:29.380 に答える