Opticon Stockholm is on Tuesday September 10th, hope to see you there!
AI OnAI Off
Opticon Stockholm is on Tuesday September 10th, hope to see you there!
What if you create an ImageData class for each filetype, then set the AllowedTypes to use those classes?
Start with a base class, for all image-related properties:
public abstract class BaseImageData : ImageData { public virtual string AltText { get; set; } }
Create image classes for each extension type:
[ContentType(GUID = "3016768f-180c-425c-97f7-e0a3dcbef9b7")] [MediaDescriptor(ExtensionString = "jpg")] public class JpgImageFile : BaseImageData { } [ContentType(GUID = "06e55dad-95da-44c5-a551-3cfbc820d853")] [MediaDescriptor(ExtensionString = "gif")] public class GifImageFile : BaseImageData { } [ContentType(GUID = "e476f5c3-d2d6-4659-9134-14c3c8b7efd3")] [MediaDescriptor(ExtensionString = "png")] public class PngImageFile : BaseImageData { }
Then use those classes in the AllowedTypes:
[ContentType(GUID = "d7a0797e-241a-410e-b35e-bb600aefec9b")] public class StandardPage : PageData { [AllowedTypes(new[] { typeof(JpgImageFile), typeof(PngImageFile) })] public virtual ContentReference Poster { get; set; } }
Is there a way to only allow specific file types in the ContentReference property? For example below, I only want to allow JPG and PNG, no GIFs (even though GIFs are allowed elsewhere on the site.
[Pasting files is not allowed]