Tridionの管理フォルダには多くのマルチメディアタイプがあります。 与えられたMIMEタイプのtcm idを返すメソッドを記述したいと思います。 gif MIMEタイプの場合は、 "tcm:0-1-65544"を返します。TridionからCore Serviceまでのマルチメディアタイプのtcm idを取得するにはどうすればいいですか?
これ以上のアイデアはありますか?
Tridionの管理フォルダには多くのマルチメディアタイプがあります。 与えられたMIMEタイプのtcm idを返すメソッドを記述したいと思います。 gif MIMEタイプの場合は、 "tcm:0-1-65544"を返します。TridionからCore Serviceまでのマルチメディアタイプのtcm idを取得するにはどうすればいいですか?
これ以上のアイデアはありますか?
あなただけのすべてのマルチメディアタイプのリストを取得し、あなたが必要とするいずれかを選択することができます:あなたは、クライアントまたはサーバサイドをやりたいか
var mmType = ClientAdmin.GetSystemWideList(new MultimediaTypesFilterData()).Single(mt => ((MultimediaTypeData)mt).MimeType == "image/jpeg");
@ user978511それは私に多くの助けてくれてありがとう – Aquarius24
各スキーマにはAllowedMultimediaTypesという名前のプロパティがあり、リストを返します。デフォルトのマルチメディアスキーマは通常、すべてのタイプを許可するように設定されています。すべての型を許可しない場合、この目的のために特別なスキーマを作成できます。
デフォルトのマルチメディアスキーマ(またはすべてのタイプを許可する特別なスキーマ)のAllowedMultimediaTypesを取得してから、入力したMIMEタイプを返されたMultimediaTypeのmimetimesにマッチさせるだけです。ここで
が上からいくつかのサンプル(テストしていない)である。また
Schema defaultMMSchema = (Schema)engine.GetObject("Your-Default-MMSchema-WebDav-Path");
IList<MultimediaType> mmTypes = defaultMMSchema.AllowedMultimediaTypes;
foreach(MultimediaType mt in mmTypes)
{
switch(mt.MimeType)
{
case "jpg":
...
}
}
、すぐにマルチメディアタイプのTCM IDが一定であるので、あなたは心配する必要はありません。コンテンツの移植後に別の環境に変わることについてしたがって、mimeタイプからtcm IDへのマッピングを提供するクラスを書くことができます。注意:カスタムアイテムタイプを作成する場合は、Tridion環境ごとにTCM IDを使用してコードを更新する必要があるため、これはエレガントではありません。
@ Nickoli の情報をありがとうございますが、AllowedMultimediaTypesの使用についてコードブリーフィングを行うことができれば、大きな助けになります。 ありがとう – Aquarius24
いくつかのサンプルコードで回答を更新しました(注意:サンプルコードのswitch文でmimeタイプを確認する必要があります)。ハッピーコーディング! –
@ thanks Nickoli .. – Aquarius24
を? –
コアサービスを利用したい場合 – Aquarius24